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 также будут возвращены текущие значения, если аргументы переданы по значению

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

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

  • Синтаксис ...
  • func_get_args() - Возвращает массив, который содержит список аргументов функции
  • func_num_args() - Возвращает количество аргументов, переданных функции
To Top