Page 46 - 4636
P. 46

А ці імена неприпустимі:
           5name()
           name-six()
           fopen()
           (Останнє ім'я могло б бути допустимим, якщо б воно не було ім'ям вже існуючої функції.)
           Зверніть увагу, що хоча $name не є допустимим ім'ям функції, наступний виклик функції:
           $name();
        може нормально працювати, залежно від значення, що зберігається в $name. Причина полягає в тому,
        що  РНР  бере  значення  змінної  $name,  шукає  функцію  з  ім'ям,  що  збігається  з  цим  значенням,  і
        намагається до неї звернутися. Даний тип функції носить назву функції змінної і часто буває досить
        корисним.
           Параметри
           Щоб  мати  можливість  виконувати  свої  завдання,  більшість  функцій  вимагають  передачі  в  них
        одного і більше параметрів. Параметр дозволяє передавати дані в функцію. Нижче наведено приклад
        функції,  яка  вимагає  передачі  в  неї  одного  параметра.  Ця  функція  приймає  одновимірний  масив  і
        відображає його у вигляді таблиці.
           functioncreate_table($data)
           { echo "<tableborder = 1>";
           reset($data); // Згадайте, щоцеробитьсядлявказівкинапочаток
           $value = current($data) ;
           while ($value) {
           echo "<tr><td>".$value."</td></tr>\n";
           $value = next($data);
           }
           echo "</table>";
           }
           Якщо викликати функцію create_table наступним чином:
           $my_array = array('Рядокодин.', 'Рядокдва.', 'Рядоктри.');
           create_table($my_array) ;
           то отримаємо вивід, показаний на рисунку 2.3.
           Параметр  дає  можливість  передати  у  функцію  дані,  які  були  створені  за  її  межами,  -  в  даному
        випадку, масив $data.

















                 Рисунок 2.3 - HTML-таблиця, отримана в результаті виклику функції create_table ()

           Як і у випадку вбудованих функцій, користувальницькі функції можуть приймати кілька параметрів
        і  мати  необов'язкові  параметри.  Ми  можемо  вдосконалити  функцію  create  table()  різними
        способами, одним з них могло б бути надання користувачеві можливості задавати параметри рамки чи
        інші  атрибути  таблиці.  Нижче  наведена  поліпшена  версія  цієї  функції.  Вона  схожа  на  попередню
        версію,  але  дозволяє  при  бажанні  визначити  ширину  рамки,  відстань  між  осередками  та  спосіб
        заповнення клітинок.



                                                            43
   41   42   43   44   45   46   47   48   49   50   51