func_get_arg

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

func_get_argВернуть элемент из списка аргументов

Описание

func_get_arg(int $position): mixed

Возвращает указанный аргумент из списка аргументов пользовательской функции.

Эта функция может быть использована совместно с func_get_args() и func_num_args() для создания функций с переменным количеством аргументов.

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

position

Номер аргумента. Аргументы функции считаются с нуля.

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

Возвращает указанный аргумент или false в случае возникновения ошибки.

Ошибки

Генерирует предупреждение при вызове вне определения функции, или если position больше реально переданного количества аргументов.

Примеры

Пример #1 Пример использования func_get_arg()

<?php
function foo()
{
$numargs = func_num_args();
echo
"Количество аргументов: $numargs\n";
if (
$numargs >= 2) {
echo
"Второй аргумент: " . func_get_arg(1) . "\n";
}
}

foo(1, 2, 3);
?>

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

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

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

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

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

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

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


Передан : 'bar'
После изменения : 'baz'
Передан : 'bar'
После изменения : 'baz'

Примечания

Замечание:

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

Замечание:

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

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