ホームページ > バックエンド開発 > PHPチュートリアル > 変数文字列を使用して PHP で関数を動的に呼び出すにはどうすればよいですか?

変数文字列を使用して PHP で関数を動的に呼び出すにはどうすればよいですか?

DDD
リリース: 2024-12-20 15:00:13
オリジナル
415 人が閲覧しました

How Can I Dynamically Call Functions in PHP Using Variable Strings?

変数文字列を使用して関数を動的に呼び出す

プログラミング、特に PHP では、次の名前の関数を呼び出す必要がある状況に遭遇することがあります。変数に格納されます。これは、柔軟性とコードの再利用性に役立ちます。

提供した例を考えてみましょう:

function foo()
{
    // code here
}

function bar()
{
    // code here
}

$functionName = "foo";
ログイン後にコピー

$functionName に格納されている関数を呼び出すには、次を使用できます:

  • $functionName(): この構文は、変数に格納されている文字列を使用して関数を直接呼び出します。この場合、 foo() 関数が呼び出されます。
  • call_user_func($functionName): この代替構文でも、関数が動的に呼び出されます。最初の引数として関数名を受け取ります。

追加の考慮事項:

  • パラメータ: 関数にパラメータが必要な場合、次に示すように、それらを配列として渡し、配列アンパック演算子 (...) を使用できます。以下:
$parameters = ['aaabbb', 'b'];
$function_name = 'trim';
echo $function_name(...$parameters); // aaa
ログイン後にコピー
  • オブジェクトとメソッド: オブジェクトを動的に作成し、そのメソッドを呼び出すこともできます。例:
$class = 'DateTime';
$method = 'format';
echo (new $class)->$method('d-m-Y');
ログイン後にコピー
  • 静的メソッド: 静的メソッドを呼び出す必要がある場合は、次の構文を使用します:
$class = 'DateTime';
$static = 'createFromFormat';
$date = $class::$static('d-m-Y', '17-08-2023');
ログイン後にコピー

以上が変数文字列を使用して PHP で関数を動的に呼び出すにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート