Необязательные аргументы со значениями по умолчанию
Похоже, вам нужен необязательный аргумент, который можно выполнить, определив значение по умолчанию в определении функции:
function getTemplate($tpl, $vars=null)
{
}
Вы можете вызвать эту функцию как getTemplate ($ foo) или getTemplate ($ foo, $ bar). Для получения дополнительной информации см. Справочную страницу PHP с аргументами функции .
Переменные числа аргументов
Также можно написать функции, которые принимают переменное число аргументов, но вам нужно использовать функции func_num_args , func_get_arg и func_get_args, Вот пример из руководства
<?php
function foo()
{
$numargs = func_num_args();
echo "Number of arguments: $numargs<br />\n";
if ($numargs >= 2) {
echo "Second argument is: " . func_get_arg(1) . "<br />\n";
}
$arg_list = func_get_args();
for ($i = 0; $i < $numargs; $i++) {
echo "Argument $i is: " . $arg_list[$i] . "<br />\n";
}
}
foo(1, 2, 3);
?>
Вызов функции с переменным числом параметров
Чтобы еще больше округлить этот ответ, предположим, что вы создали бы массив значений 1..n и хотели бы передать его в функцию foo (), определенную выше? Вы бы использовали call_user_func_array
$values=(1,2,3,4);
call_user_func_array('foo', $values);
Это эквивалент звонка
foo(1,2,3,4);