함수 처리 func_get_args

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

func_get_args — 함수의 인수 목록을 포함하는 배열을 반환합니다.


설명

func_get_args(): array

함수의 인수 목록 배열을 가져옵니다.

이 함수는 사용자 정의 함수가 가변 길이 인수 목록을 허용하도록 func_get_arg()func_num_args()와 함께 사용할 수 있습니다.


매개변수

이 함수에는 매개변수가 없습니다.


반환 값

각 요소가 현재 사용자 정의 함수의 인수 목록에 있는 해당 멤버의 복사본인 배열을 반환합니다.


오류/예외

사용자 정의 함수 외부에서 호출되는 경우 경고를 생성합니다.


Examples

예제 #1 func_get_args() 예제

                  
<?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";
    }
    $arg_list = func_get_args();
    for ($i = 0; $i < $numargs; $i++) {
        echo "Argument $i is: " . $arg_list[$i] . "\n";
    }
}

foo(1, 2, 3);
?>
                  
                

위의 예는 다음을 출력합니다.

Number of arguments: 3
Second argument is: 2
Argument 0 is: 1
Argument 1 is: 2
Argument 2 is: 3
                

예제 #2 func_get_args() byref 및 byval 인수의 예

                  
<?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);
?>
                  
                

위의 예는 다음을 출력합니다.

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

메모

메모: PHP 8.0.0부터 func_*() 함수 패밀리는 인수를 모두 위치적으로 전달된 것처럼 처리하고 누락된 인수는 기본값으로 대체하여 명명된 인수와 관련하여 대부분 투명하도록 의도되었습니다. 이 함수는 알려지지 않은 명명된 가변 인수의 컬렉션을 무시합니다. 수집된 알 수 없는 명명된 인수는 가변 매개변수를 통해서만 액세스할 수 있습니다.

메모: 인수가 참조로 전달되면 인수에 대한 변경 사항이 이 함수에서 반환된 값에 반영됩니다. PHP 7부터는 인수가 값으로 전달되면 현재 값도 반환됩니다.

메모: 이 함수는 전달된 인수의 복사본만 반환하고 기본(전달되지 않은) 인수는 고려하지 않습니다.


기타