Page 47 - 4636
P. 47

functioncreate_table2($data, $border=l, $cellpadding=4, $cellspacing=4)
           {
           echo "<table border=\"".$border."\" cellpadding=\"".$cellpadding"."\"
           cellspacing=\"".$cellspacing.”/”>”;
           reset($data);
           $value = current($data);
           while ($value) {
           echo "<tr><td>". $value. "</td></tr>\n";
           $value = next($data);
           }
           echo "</table>";
           }
           $my_array = array('Рядокодин.', 'Рядокдва.', 'Рядоктри.');
           create_table ($my_array);
           Перший  параметр  функції  create_table2(),як  і  раніше,  обов'язковий.  Наступні  три  є
        необов'язковими,  оскільки  для  них  визначені  значення  за  замовчуванням.  Висновок,  схожий  на
        показаний на рис. 2.4 виходить у результаті наступного виклику функції create table2():
           create_table2($my_array);
           Якщо  ми  хочемо, щоб  ці  ж  дані  відображалися  в  більш  просторою  формі,  дану  функцію  можна
        викликати так:
           create_table2($my_array, 3, 8, 8);
           Необов'язкові параметри можна передавати не всі, а лише деякі з них. Параметри присвоюються
        зліва направо.
           Не забувайте, що не можна пропустити який-небудь необов'язковий параметр і після нього задати
        параметр.  У  даному  прикладі,  якщо  ми  хочемо  задати  значення  параметра  cellspacing,  нам
        доведеться  передати  також  і  параметр  padding.  Це  обмеження  часто  стає  причиною  помилок
        програмування. Саме тому необов'язкові параметри поміщаються в кінець списку параметрів.
           Наступний виклик функції:
           create_table2($my_array, 3) ;
           цілком припустимо, він призводить до того, що значення змінної $border встановлюється рівним
        3,  а  значень  змінних  $cellpadding  і  $cellspacing  отримують  відповідні  значення  за
        замовчуванням.
           Існує  можливість  оголошувати  функції,  які  приймають  змінну  кількість  параметрів.  Визначити,
        скільки  передано  параметрів,  а  також  їх  значення,  можна  за  допомогою  допоміжних  функцій
        func_num_args(), func_get_arg() і func_get_args().
           Для прикладу розглянемо наступну функцію:
           function var_args() {
           echo "Кількість параметрів: echo func_num_args ();

           echo "<br />";

           $args = func get argsO ;
           foreach ($args as $arg) {
           echo $arg."<br />";
           }
           }
           Ця  функція  виводить  кількість  переданих  їй  параметрів  разом  з  їх  значеннями.  Функція
        func_num_args() повертає кількість переданих аргументів, а функція func get args() - масив,
        що  містить  ці  аргументи.  Як  альтернативу  можна  отримувати  доступ  до  кожного  аргументу  за
        допомогою  функції  func  get  arg(),  передаючи  їй  номер  потрібного  аргументу.  (Нумерація
        аргументів починається з нуля.)
           Наступний виклик функції:
                                                            44
   42   43   44   45   46   47   48   49   50   51   52