(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).
...