Оглавление

18.8. Переменное число параметров в функции

Функции func_get_args() и func_get_arg() позволяют получить доступ ко всем параметрам, переданным функции (листинг 29). Функция func_num_args() позволяет определить общее количество параметров, переданных функции.

 
Листинг 29. Использование функции func_get_arg()

<?php
function f_Sum($var1, $var2) {
   return func_get_arg(0)+func_get_arg(1);
}
echo f_Sum(5, 6); // Выведет: 11
?>

 

Какой в этом смысл? Дело в том, что при использовании этих функций можно  передать  нашей функции  больше  аргументов,  чем первоначально  объявлено. Можно, например, просуммировать сразу несколько чисел, а не только два.

 
Листинг 30. Переменное число параметров в функции

<?php
function f_Sum($var1, $var2) {
   $sum = 0;
   $count = func_num_args();
   for ($i=0; $i<$count; $i++) {
      $sum += func_get_arg($i);
   }
   return $sum;
}
echo f_Sum(5, 6, 7, 20); // Выведет 38
?>

 

Такой же  результат  можно  получить,  используя  функцию  func_get_args()
 
Листинг 31. Использование функции func_get_args()


<?php
function f_Sum($var1, $var2) {
   $sum = 0;
   foreach (func_get_args() as $val) {
      $sum += $val;
   }
   return $sum;
}
echo f_Sum(5, 6, 7, 20); // Выведет 38
?>

 

 

Комментарии принадлежат их авторам. Мы не несем ответственности за их содержание.
Отправитель Нити