라이브러리
[PHP] call_user_func_array - 매개변수 배열로 콜백 호출
PHP에서 call_user_func_array 함수
`call_user_func_array` 함수는 PHP에서 사용할 수 있는 내장 함수 중 하나입니다. 이 함수는 함수를 호출하고, 함수에 전달할 인자를 배열로 전달할 수 있습니다.
함수 시그니처
`call_user_func_array` 함수의 시그니처는 다음과 같습니다.
#hostingforum.kr
php
call_user_func_array ( callable $callback , array $args )
* `$callback` : 호출할 함수 또는 메서드
* `$args` : 함수에 전달할 인자
예제
다음 예제는 `call_user_func_array` 함수를 사용하여 함수를 호출하고 인자를 전달하는 방법을 보여줍니다.
#hostingforum.kr
php
function add($a, $b) {
return $a + $b;
}
$numbers = array(1, 2);
$result = call_user_func_array('add', $numbers);
echo $result; // 3
이 예제에서는 `add` 함수를 호출하고, `$numbers` 배열의 인자를 전달하여 함수에 전달합니다.
함수에 인자를 전달하는 방법
`call_user_func_array` 함수는 함수에 인자를 전달할 때, 인자의 타입을 체크하지 않습니다. 따라서, 함수가 인자의 타입을 체크하는 경우, 에러가 발생할 수 있습니다.
#hostingforum.kr
php
function add($a, $b) {
if (!is_int($a) || !is_int($b)) {
throw new Exception('인자는 모두 정수여야 합니다.');
}
return $a + $b;
}
$numbers = array('1', '2');
try {
$result = call_user_func_array('add', $numbers);
echo $result;
} catch (Exception $e) {
echo $e->getMessage();
}
이 예제에서는 `add` 함수가 인자의 타입을 체크하는 경우, 에러가 발생합니다.
객체 메서드 호출
`call_user_func_array` 함수는 객체 메서드를 호출할 수도 있습니다.
#hostingforum.kr
php
class Calculator {
public function add($a, $b) {
return $a + $b;
}
}
$calculator = new Calculator();
$numbers = array(1, 2);
$result = call_user_func_array(array($calculator, 'add'), $numbers);
echo $result; // 3
이 예제에서는 `Calculator` 객체의 `add` 메서드를 호출하고, 인자를 전달합니다.
정리
`call_user_func_array` 함수는 PHP에서 함수를 호출하고, 인자를 전달할 때 유용한 내장 함수입니다. 함수의 시그니처와 예제를 통해 함수의 사용 방법을 이해할 수 있습니다.
-
- 나우호스팅 @pcs8404
-
호스팅포럼 화이팅!
댓글목록
등록된 댓글이 없습니다.