call_user_func_array関数
call_user_func_array関数は、パラメータを配列として渡すことでコールバックを呼び出すことができます。最初のパラメータには関数またはメソッドの名前を、2番目のパラメータには引数の配列を渡します。
構文
call_user_func_array(callable $callback, array $args);
例
配列を通してパラメータを渡す単純な関数の呼び出し:
<?php
function sum($a, $b) {
return $a + $b;
}
$res = call_user_func_array('sum', [2, 3]);
echo $res;
?>
コード実行結果:
5
例
パラメータを渡すクラスメソッドの呼び出し:
<?php
class Calculator {
public function multiply($a, $b) {
return $a * $b;
}
}
$calc = new Calculator();
$res = call_user_func_array([$calc, 'multiply'], [4, 5]);
echo $res;
?>
コード実行結果:
20
例
無名関数での使用:
<?php
$func = function($a, $b, $c) {
return $a + $b + $c;
};
$res = call_user_func_array($func, [1, 2, 3]);
echo $res;
?>
コード実行結果:
6
関連項目
-
個別の引数でコールバック関数を呼び出す関数
call_user_func -
関数の存在をチェックする関数
function_exists