func_get_args

Returns an array comprising a function's argument list

&reftitle.description; `array` `func_get_args`

Gets an array of the function's argument list.

This function may be used in conjunction with `func_get_arg` and `func_num_args` to allow user-defined functions to accept variable-length argument lists.

&reftitle.returnvalues;

Returns an array in which each element is a copy of the corresponding member of the current user-defined function's argument list.

&reftitle.changelog;

&Version; | &Description;
5.3.0 | This function can now be used in parameter lists.
5.3.0 | If this function is called from the outermost scope of a file which has been included by calling `include` or `require` from within a function in the calling file, it now generates a warning and returns &false;.

&reftitle.errors;

Generates a warning if called from outside of a user-defined function.

&reftitle.examples;

### `func_get_args` example

    <?php
    function foo()
    {
        $numargs = func_num_args();
        echo "Number of arguments: $numargs<br />\n";
        if ($numargs >= 2) {
            echo "Second argument is: " . func_get_arg(1) . "<br />\n";
        }
        $arg_list = func_get_args();
        for ($i = 0; $i < $numargs; $i++) {
            echo "Argument $i is: " . $arg_list[$i] . "<br />\n";
        }
    }

    foo(1, 2, 3);
    ?>

&example.outputs;

    Number of arguments: 3<br />
    Second argument is: 2<br />
    Argument 0 is: 1<br />
    Argument 1 is: 2<br />
    Argument 2 is: 3<br />

### `func_get_args` example before and after PHP 5.3

    test.php
    <?php
    function foo() {
        include './fga.inc';
    }

    foo('First arg', 'Second arg');
    ?>

    fga.inc
    <?php

    $args = func_get_args();
    var_export($args);

    ?>

Output previous to PHP 5.3:

    array (
      0 => 'First arg',
      1 => 'Second arg',
    )

Output in PHP 5.3 and later:

    Warning: func_get_args():  Called from the global scope - no function
    context in /home/torben/Desktop/code/ml/fga.inc on line 3
    false

### `func_get_args` example of byref and byval arguments

    <?php
    function byVal($arg) {
        echo 'As passed     : ', var_export(func_get_args()), PHP_EOL;
        $arg = 'baz';
        echo 'After change  : ', var_export(func_get_args()), PHP_EOL;
    }

    function byRef(&$arg) {
        echo 'As passed     : ', var_export(func_get_args()), PHP_EOL;
        $arg = 'baz';
        echo 'After change  : ', var_export(func_get_args()), PHP_EOL;
    }

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

&example.outputs;

    As passed     : array (
      0 => 'bar',
    )
    After change  : array (
      0 => 'bar',
    )
    As passed     : array (
      0 => 'bar',
    )
    After change  : array (
      0 => 'baz',
    )

&reftitle.notes; ¬e.funcnoparam; ¬e.funcbyref;

This function returns a copy of the passed arguments only, and does not account for default (non-passed) arguments.

&reftitle.seealso;

- `func_get_arg`
- `func_num_args`
- `ReflectionFunctionAbstract::getParameters`