Синтаксис визначення функції, функції, php-spravka

Головна Функції Синтаксис визначення функції

Синтаксис визначення функції

У програмуванні, як і в математиці, функція є відображення безлічі її аргументів на безліч її значень. Тобто функція для кожного набору значень аргументу повертає якісь значення, що є результатом її роботи.

Навіщо потрібні функції, спробуємо пояснити на прикладі. Класичний приклад функції в програмуванні - це функція, що обчислює значення факторіала числа. Тобто ми задаємо їй число, а вона повертає нам його факторіал. При цьому не потрібно для кожного числа, факторіал якого ми хочемо отримати, повторювати один і той же код - досить просто викликати функцію з аргументом, рівним цьому числу.

Функція обчислення факторіала натурального числа

Таким чином, коли ми здійснюємо дії, в яких простежується залежність від якихось даних, і при цьому, можливо, нам знадобиться виконувати такі ж дії, але з іншими вихідними даними, зручно використовувати механізм функцій - оформити блок дій у вигляді тіла функції, а змінні дані - як її параметрів.

У загальному вигляді функція може бути визначена за допомогою наступного синтаксису:

Імя_функциі і імена параметрів функції (параметр1, параметр2 і т.д.) повинні відповідати правилам найменування в PHP (і українських символів у них краще не використовувати). Імена функцій нечутливі до регістру. Параметри функції - це змінні мови, тому перед назвою кожного з них повинен стояти знак $. Ніяких крапок ставити в списку параметрів не можна. По-третє, замість слів блок_дій в тілі функції повинен знаходитися будь-який правильний PHP-код (не обов'язково залежить від параметрів).

І нарешті, після ключового слова return має йти коректне php-вираз (що-небудь, що має значення). Крім того, у функції може і не бути параметрів, як і значення, що повертається.

Як відбувається виклик функції? Вказується ім'я функції і в круглих дужках список значень її параметрів, якщо такі є:

Коли можна викликати функцію? Функцію можна викликати після її визначення, тобто в будь-якому рядку програми нижче блоку function f_name (). У PHP3 це було дійсно так. Але вже в PHP4 такої вимоги немає. Вся справа в тому, як інтерпретатор обробляє одержуваний код. Єдиний виняток становлять функції, які визначаються умовно (всередині умовних операторів або інших функцій). Коли функція визначається таким чином, її визначення повинно передувати її виклику.

Приклад 1. Визначення функції усередині умовного оператора (html, txt)

Якщо функція одного разу визначена в програмі, то перевизначити або видалити її пізніше не можна. Незважаючи на те, що імена функцій нечутливі до регістру, краще викликати функцію по тому ж імені, яким вона була задана у визначенні.

Приклад 2. Визначення функції усередині функції (html, txt)