Retorna um array contendo uma lista de argumentos da função

# func_get_args

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

func_get_args — Retorna um array contendo uma lista de argumentos da função

### Descrição

function func_get_args(): array

Obtém um array de argumentos da função.

Esta função pode ser usada em conjunto com func_get_arg() e func_num_args() para permitir que funções definidas pelo usuário aceitem listas de argumentos de tamanhos variáveis.

### Parâmetros

Esta função não possui parâmetros.

### Valor Retornado

Retorna um array no qual cada elemento é uma cópia do membro correspondente da lista de argumentos da função atual definida pelo usuário.

### Erros/Exceções

Gera um alerta se for chamado de fora de uma função definida pelo usuário.

### Exemplos

Exemplo #1 Exemplo de func_get_args()

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

    foo(1, 2, 3);
    ?>

O exemplo acima produzirá:

    Número de argumentos: 3
    O segundo argumento é: 2
    Argumento 0 é: 1
    Argumento 1 é: 2
    Argumento 2 é: 3

Exemplo #2 Exemplo de func_get_args() com argumentos por valor e por referência

    <?php
    function byVal($arg) {
        echo 'Como informado : ', var_export(func_get_args()), PHP_EOL;
        $arg = 'baz';
        echo 'Após alterado  : ', var_export(func_get_args()), PHP_EOL;
    }

    function byRef(&$arg) {
        echo 'Como informado : ', var_export(func_get_args()), PHP_EOL;
        $arg = 'baz';
        echo 'Após alterado  : ', var_export(func_get_args()), PHP_EOL;
    }

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

O exemplo acima produzirá:

Como informado : array (
0 => 'bar',
)
Após alterado : array (
0 => 'baz',
)
Como informado : array (
0 => 'bar',
)
Após alterado : array (
0 => 'baz',
)

### Notas

> Nota: A partir do PHP 8.0.0, a família de funções func_*() deve ser mais transparente em relação aos argumentos nomeados, tratando os argumentos como se fossem todos passados posicionalmente, e os argumentos ausentes são substituídos por seus valores padrão. Esta função ignora a coleção de argumentos variádicos nomeados desconhecidos. Argumentos nomeados desconhecidos que são coletados só podem ser acessados por meio do parâmetro variádico.

> Nota: Se os argumentos forem passados por referência, qualquer alteração nos argumentos será refletida nos valores retornados por esta função. A partir do PHP 7, os valores atuais também serão retornados se os argumentos forem passados por valor.

> Nota: Esta função retorna apenas uma cópia dos argumentos passados ​​e não leva em conta os argumentos padrão (não passados).

### Veja Também

- Sintaxe `...`
- func_get_arg() - Retorna um item de uma lista de argumentos
- func_num_args() - Retorna o número de argumentos passados ​​para a função
- ReflectionFunctionAbstract::getParameters() - Obtém parâmetros

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open