func_get_args

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

func_get_argsDevuelve un array que se compone de una lista de argumentos de función

Descripción

func_get_args(): array

Obtiene un array de la lista de argumentos de una función.

Esta función se puede usar junto con func_get_arg() y func_num_args() para permitir a las funciones definidas por el usuario aceptar una lista de argumentos de longitud variable.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve un array en el que cada elemento es una copia del miembro correspondiente de la lista de argumentos de la función definida por el usuario.

Errores/Excepciones

Genera una advertencia si se llama desde fuera de una función definida por el usuario.

Ejemplos

Ejemplo #1 Ejemplo de func_get_args()

<?php
function foo()
{
$númargs = func_num_args();
echo
"Número de argumentos: $númargs \n";
if (
$númargs >= 2) {
echo
"El segundo argumento es: " . func_get_arg(1) . "\n";
}
$arg_list = func_get_args();
for (
$i = 0; $i < $númargs; $i++) {
echo
"El argumento $i es: " . $arg_list[$i] . "\n";
}
}

foo(1, 2, 3);
?>

El resultado del ejemplo sería:

Número de argumentos: 3 El segundo argumento es: 2 El argumento 0 es: 1 El argumento 1 es: 2 El argumento 2 es: 3

Ejemplo #2 func_get_args() ejemplo de argumentos byref (pasa un objeto como referencia) y byval (pasa un objeto como valor)

<?php
function byVal($arg) {
echo
'Pasó como : ', var_export(func_get_args()), PHP_EOL;
$arg = 'baz';
echo
'Tras el cambio : ', var_export(func_get_args()), PHP_EOL;
}

function
byRef(&$arg) {
echo
'Pasó como : ', var_export(func_get_args()), PHP_EOL;
$arg = 'baz';
echo
'Tras el cambio : ', var_export(func_get_args()), PHP_EOL;
}

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

El resultado del ejemplo sería:


Pasó como : array (
0 => 'bar',
)
Tras el cambio : array (
0 => 'baz',
)
Pasó como : array (
0 => 'bar',
)
Tras el cambio : array (
0 => 'baz',
)

Notas

Nota:

Si los argumentos se pasan por referencia, cualquier cambio en ellos se verá reflejado 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 valor.

Nota: Esta función solamente devuelve una copia de los argumentos pasados, y no rinde cuentas de los argumentos predeterminados (no pasados).

Ver también

To Top