# func_get_args

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

func_get_args — Devuelve 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

- La sintaxis de `...`
- func_get_arg() - Devuelve un elemento de una lista de argumentos
- func_num_args() - Devuelve el número de argumentos pasados a la función
- ReflectionFunctionAbstract::getParameters() - Obtiene los parámetros