func_get_args

(PHP 4, PHP 5, PHP 7, PHP 8)

func_get_argsВозвращает массив, который содержит список аргументов функции

Описание

func_get_args(): array

Функция получает массив, который содержит список аргументов функции.

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

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Функция возвращает массив, в котором каждый элемент — копия соответствующего члена списка аргументов текущей пользовательской функции.

Ошибки

Функция генерирует предупреждение, если вызывается вне пользовательской функции.

Примеры

Пример #1 Пример использования функции func_get_args()

<?php

function foo()
{
$numargs = func_num_args();

echo
"Количество аргументов: $numargs\n";

if (
$numargs >= 2) {
echo
"Второй аргумент: " . func_get_arg(1) . "\n";
}

$arg_list = func_get_args();

for (
$i = 0; $i < $numargs; $i++) {
echo
"Аргумент №$i: " . $arg_list[$i] . "\n";
}
}

foo(1, 2, 3);

?>

Результат выполнения приведённого примера:

Количество аргументов: 3 Второй аргумент: 2 Аргумент №0: 1 Аргумент №1: 2 Аргумент №2: 3

Пример #2 Пример передачи в функцию func_get_args() аргументов по ссылке и по значению

<?php

function byVal($arg) {
echo
'Передан : ', var_export(func_get_args()), PHP_EOL;
$arg = 'baz';
echo
'После изменения : ', var_export(func_get_args()), PHP_EOL;
}

function
byRef(&$arg) {
echo
'Передан : ', var_export(func_get_args()), PHP_EOL;
$arg = 'baz';
echo
'После изменения : ', var_export(func_get_args()), PHP_EOL;
}

$arg = 'bar';
byVal($arg);
byRef($arg);

?>

Результат выполнения приведённого примера:


Передан : array (
0 => 'bar',
)
После изменения : array (
0 => 'baz',
)
Передан : array (
0 => 'bar',
)
После изменения : array (
0 => 'baz',
)

Примечания

Замечание:

Начиная с PHP 8.0.0 семейство функций func_*() предназначено для большей прозрачности в отношении именованных аргументов, обрабатывая аргументы так, как если бы все они были переданы позиционно, а отсутствующие аргументы заменяются их значениями по умолчанию. Функция игнорирует набор неизвестных именованных вариативных аргументов. К собранным неизвестным именованным аргументам можно получить доступ только через вариативный параметр.

Замечание:

Если аргументы были переданы по ссылке, то все изменения аргументов будут отражены на возвращаемых функцией значениях. В PHP 7 также будут возвращены текущие значения, если аргументы переданы по значению

Замечание: Функция возвращает только копии аргументов, которые передали, и не возвращает значения по умолчанию для аргументов, которые не передавали.

Смотрите также

To Top