
call_user_func_array 함수는 함수 이름과 인수를 배열로 전달받아 함수를 호출하는 함수입니다.
위 코드에서, array('hello', 'world')은 인수 인 $array를 전달하는 것입니다.
그리고 call_user_func_array('echo', $array)에서, 'echo'은 함수 이름을 나타내고, $array는 인수를 전달하는 것입니다.
따라서, 위 코드는 'hello world'를 출력합니다.
call_user_func_array 함수를 사용할 때, 함수 이름과 인수는 모두 배열로 전달해야 합니다.
예를 들어, 아래와 같은 코드는 에러를 발생시킵니다.
#hostingforum.kr
php
$array = array('hello', 'world');
call_user_func_array('echo', 'hello');
이 코드에서, 'echo'은 함수 이름을 나타내고, 'hello'은 인수를 전달하는 것입니다. 그러나 인수는 배열이 아닌 일반 변수로 전달되어 에러를 발생시킵니다.
따라서, 함수 이름과 인수를 모두 배열로 전달해야 합니다.
#hostingforum.kr
php
$array = array('echo', 'hello', 'world');
call_user_func_array($array[0], array_slice($array, 1));
이 코드에서, $array는 함수 이름과 인수를 모두 포함하는 배열입니다. 그리고 call_user_func_array 함수는 $array[0]을 함수 이름으로, array_slice($array, 1)를 인수로 전달합니다.
따라서, 위 코드는 'hello world'를 출력합니다.
2025-06-29 15:06