(PHP 4, PHP 5, PHP 7, PHP 8)
func_get_arg — Devuelve un elemento de la lista de argumentos
Recupera un elemento de la lista de argumentos de una función de usuario.
func_get_arg() puede ser utilizado conjuntamente con func_num_args() y func_get_args() para permitir que las funciones de usuario acepten un número variable de argumentos.
position
La posición del argumento. Los argumentos de la función son
contados comenzando desde 0.
Devuelve el argumento especificado, o false si ocurre un error.
Generará una advertencia si es llamada fuera de una función de usuario, o si
position es mayor que el número de argumentos pasados.
Ejemplo #1 Ejemplo con func_get_arg()
<?php
function foo()
{
$numargs = func_num_args();
echo "Número de argumentos : $numargs\n";
if ($numargs >= 2) {
echo "El segundo argumento es : " . func_get_arg(1) . "\n";
}
}
foo(1, 2, 3);
?>El ejemplo anterior mostrará:
Número de argumentos : 3 El segundo argumento es : 2
Ejemplo #2 Ejemplo func_get_arg() con argumentos por referencia y por valor
<?php
function byVal($arg) {
echo 'Tal como se pasó : ', var_export(func_get_arg(0)), PHP_EOL;
$arg = 'baz';
echo 'Después del cambio : ', var_export(func_get_arg(0)), PHP_EOL;
}
function byRef(&$arg) {
echo 'Tal como se pasó : ', var_export(func_get_arg(0)), PHP_EOL;
$arg = 'baz';
echo 'Después del cambio : ', var_export(func_get_arg(0)), PHP_EOL;
}
$arg = 'bar';
byVal($arg);
byRef($arg);
?>El ejemplo anterior mostrará:
Nota:
A partir de PHP 8.0.0, la familia de funciones func_*() está diseñada para ser esencialmente transparente con respecto a los argumentos nombrados, tratando los argumentos como si fueran todos pasados de manera posicional, y los argumentos faltantes son reemplazados con sus valores por defecto. Esta función ignora la colección de argumentos variádicos nombrados desconocidos. Los argumentos nombrados que son recolectados solo son accesibles a través del parámetro variádico.
Nota:
Si los argumentos son pasados por referencia, todas sus modificaciones serán reflejadas en los valores devueltos por esta función. A partir de PHP 7, los valores actuales también serán devueltos si los argumentos son pasados por su valor.
Nota: Esta función devuelve únicamente una copia de los argumentos pasados, y no cuenta como argumentos por defecto (no pasados).
...