1

call_user_func_arrayを使用して関数を動的に呼び出そうとしていますが、私が直面している問題は、関数がブール値を返す場合、パラメーター変数は配列に格納されますが、関数が文字列を返す場合は正常に機能することです。

call_user_func_array()は、パラメーター1が有効なコールバックであるか、関数'equal'が見つからないか、無効な関数名が...に含まれていないことを想定しています。

$param = array (
   0 => Jill
   1 => Jack
);

echo call_user_func_array("equal", $param);

function equal($str, $str_2) {
     if ($str==$str_2) {
         return true;
     } else {
         return false;
     }
}
4

1 に答える 1

2

私はあなたのスクリプトを試しました。動作しており、「false」を返します。テストするには、echoの代わりにvar_dump()を使用してください。また、equal()が配列を返す場合は、配列も返されます。エラーはありません。

于 2012-08-22T08:20:16.330 に答える