文字列、配列などに基づいて関数を実行する PHP 関数またはコマンドはありますか? 基本的には「time」という文字列を渡せtime()
ば返してもらいたい。理想的には、これが渡されたパラメーターもサポートすることを望みます。ただし、これを個々の機能用にしたいだけです。eval()
明らかな理由から、コードのブロック全体は必要ありません。
このようなものは存在しますか? あるいは、できれば PHP のネイティブですか?
関数名を含む変数を使用して関数を呼び出したり、その関数にパラメーターを渡すことができます。試す:
<?php
$func = 'strtoupper';
$res = $func('i am uppercase');
echo $res; // I AM UPPERCASE
可変関数と可変変数も参照してください。前述のように、call_user_func()
動作します。
安全のために、次のように呼び出すことができます。
if (function_exists($func)) { ... }
関数を呼び出す前に、エラーを回避するようにしてください。ReflectionFunctionAbstract::getNumberOfParameters
関数が受け入れるパラメーターの数を決定するために使用することもできます。
call_user_func() http://php.net/manual/en/function.call-user-func.phpを試す
最初の引数は、関数名を表す文字列です。2 番目の引数は、単一の引数または引数の配列にすることができます。
編集:
ご質問のとおり、time() などのネイティブ関数もサポートします。次のように試してみてください:
echo call_user_func( 'time' );