[PHP]コールバック関数call_user_func_arrayで複数引数を使用する

書式
call_user_func_array(callable $callback, array $args): mixed
args にパラメータを指定して、 callback で指定したユーザー定義関数をコールします。

callback
コールするcallable。
args
コールバック関数に渡すパラメータを指定する配列。

使用例

<?php

/*クラスCallArrの定義*/
class CallArr
{
    public function getMsg($strA,$strB)
    {
        echo $strA." and ".$strB;
    }
}
/*関数funcAの定義 引数がある*/
function funcA($arr,$name)
{
   /*call_user_func_array関数を呼び出す*/
    call_user_func_array($arr,$name);
}
/*オブジェクトcftの生成*/
$cft = new CallArr();
//配列1:オブジェクト名、関数名 配列2:引数1 引数2
funcA(array($cft, "getMsg"),array("AA01","BB02")); 
?>

結果
AA01 and BB02

PHP

Posted by arkgame