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

Листинг 11.82. Функция func_get_args

<?php
/*
** Функция gcd
** Ввод: любое количество целых чисел ** Вывод: целое число
** Описание: возвращает наибольший общий ** знаменатель вводимого значения.
*/
function gcd()
{
/*
** начиная с наименьшего аргумента проверить все значения
** до значения 1, которое является общим знаменателем для всех чисел
*/
$start = 2147483647; foreach(func_get_args() as $arg) 
{
if(abs($arg) < $start)
{
$start = abs($arg);
}
}
for($i=$start; $i > 1; $i-- )
{
//предположим, что мы найдем наибольший общий знаменатель $isCommon = TRUE;
//просмотрите все числа в имеющихся аргументах foreach(func_get_args() as $arg)
{
//если при делении $arg на $i получаем
// остаток, значит, наибольший общий знаменатель не существует
if(($arg % $i) != 0)
{
$isCommon = FALSE;
}
}
// если весь код отработал, но значение //$isCommon по- прежнему TRUE, значит, // наш наибольший общий знаменатель найден if($isCommon)
{
break;
}
}
return($i);
}
//печатает 5
print(gcd(10, 20, -35));
?>

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