ホームページ >バックエンド開発 >PHPチュートリアル >変数名を使用して PHP で関数を動的に呼び出すにはどうすればよいですか?
変数名を使用した関数の動的呼び出し
PHP では、変数に格納された名前によって関数を呼び出すことができます。この手法は、実行される関数がコンパイル時に不明であるか、入力または構成に基づいて動的に決定する必要があるシナリオで役立ちます。
動的関数呼び出しの 2 つのオプション
変数名に基づいて関数を実行するには、次の 2 つの一般的な方法があります。アプローチ:
<?php function foo() { // Function code } function bar() { // Function code } $functionName = "foo"; $functionName(); // Calls the foo function // Providing parameters in an array $parameters = ['Hello', 'World']; call_user_func_array('printf', $parameters); // Outputs "HelloWorld" ?>
配列のアンパックと動的オブジェクトを使用した高度な使用法作成
引数の配列を関数に渡す必要がある場合は、配列アンパック演算子を使用できます。
$function_name = 'trim'; $parameters = ['aaabbb', 'b']; echo $function_name(...$parameters); // Outputs "aaa"
さらに、オブジェクトを作成してそのオブジェクトを呼び出すことができます。動的メソッド:
$class = 'DateTime'; $method = 'format'; echo (new $class)->$method('d-m-Y'); // Outputs the current date in "d-m-Y" format
または、静的メソッドを呼び出すこともできます。クラス:
$class = 'DateTime'; $static = 'createFromFormat'; $date = $class::$static('d-m-Y', '17-08-2023');
以上が変数名を使用して PHP で関数を動的に呼び出すにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。