函式call_user_func_array()用於動態呼叫具有引數的使用者函式或者類方法。
用法: call_user_func_array ( callable $callback , array $param_arr ) : mixed
引數:
- $callback:要呼叫的函式或方法,可以是以字串形式表示的函式名、類名和方法名的陣列,或者是匿名函式。
- $param_arr:包含引數的陣列。
返回值: 返回撥用函式或方法的返回值。
示例:
- 使用全域性函式:
function sum($a, $b) {
return $a + $b;
}
$args = [2, 3];
$result = call_user_func_array('sum', $args);
echo $result; // 輸出: 5
- 使用類方法:
class Math {
public function add($a, $b) {
return $a + $b;
}
}
$math = new Math();
$args = [2, 3];
$result = call_user_func_array([$math, 'add'], $args);
echo $result; // 輸出: 5
- 使用匿名函式:
$callback = function($a, $b) {
return $a + $b;
}
$args = [2, 3];
$result = call_user_func_array($callback, $args);
echo $result; // 輸出: 5
在上述示例中,透過call_user_func_array()函式動態呼叫了sum()函式、Math類的add()方法以及匿名函式,傳遞引數給這些函式,並獲取返回值。