본문 바로가기

PHP/PHP7 예비학교

[PHP] 가변 길이 인수 - 함수에 여러 인자 받기

가끔 함수를 처리하다보면 받을 인자의 개수를 모를 때가 있습니다.

PHP는 가변 길이 인수 목록을 지원합니다.

사용법


<?php
function add(...$number){
    $total = 0;
    foreach($number as $value) {
        $total += $value;
    }
    return $total;
}

echo add(1,2,3,4,5);	// 15
echo add(1, 2);		// 3
?>

PHP 5.6 이상은 '...'을 PHP 5.5 이하에서는 func_num_args(), func_get_arg() 또는 func_get_args()를 사용하면 됩니다.

 

함수 반환
func_get_args() 모든 목록 배열 반환
func_num_args() 인수 개수 반환
func_get_arg( int $index) 인수 항목 반환
<?php
function add(){
    var_dump( func_get_args() );
    /***********
    array(5) {
      [0]=>int(1)
      [1]=>int(2)
      [2]=>int(3)
      [3]=>int(4)
      [4]=>int(5)
  	}
    ************/
    var_dump( func_num_args() );
    /************
    int(5)
    ************/
    var_dump( func_get_arg(1) );
    /************
    int(2)
    ************/
}

add(1,2,3,4,5);
?>
반응형