php8.5
Home/ Manual/ funchand / functions/ func_get_arg

func_get_arg

PHP function Edit on GitHub ✎

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

Return an item from the argument list

Description

func_get_arg(int $position): mixed

Gets the specified argument from a user-defined function's argument list.

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

Parameters

position

The argument offset. Function arguments are counted starting from zero.

Return Values

Returns the specified argument, or false on error.

Errors/Exceptions

Generates a warning if called from outside of a user-defined function, or if position is greater than the number of arguments actually passed.

Examples

func_get_arg() example

php
<?php
function foo()
{
     $numargs = func_num_args();
     echo "Number of arguments: $numargs\n";
     if ($numargs >= 2) {
         echo "Second argument is: " . func_get_arg(1) . "\n";
     }
}

foo(1, 2, 3);
?>

The above example will output:

output
Number of arguments: 3
Second argument is: 2

func_get_arg() example of byref and byval arguments

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

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

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

The above example will output:

output
As passed     : 'bar'
After change  : 'baz'
As passed     : 'bar'
After change  : 'baz'
    

Notes Func-named-params Funcbyref

Note

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

See Also

Source: reference/funchand/functions/func-get-arg.xml · from the official PHP manual (php/doc-en)