ホームページ >バックエンド開発 >PHPチュートリアル >PHP で関数を配列に格納するにはどうすればよいですか?

PHP で関数を配列に格納するにはどうすればよいですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-11-02 16:33:03639ブラウズ

How Do You Store Functions in an Array in PHP?

PHP での関数の配列ストレージの探索

PHP には、関数を配列に格納するためのいくつかのオプションがあり、それぞれに独自の意味があります。

匿名関数

推奨されるアプローチは、匿名関数を使用することです。

<code class="php">$functions = [
  'function1' => function ($echo) {
        echo $echo;
   }
];</code>

匿名関数を使用すると、関数をその場で定義できます。

名前付き関数の参照

既存の関数を保存したい場合は、それを文字列として名前で参照できます。

<code class="php">function do_echo($echo) {
    echo $echo;
}

$functions = [
  'function1' => 'do_echo'
];</code>

このメソッドには、配列の外で関数を宣言することが含まれます。

レガシー アプローチ (PHP

古いバージョンの PHP の場合匿名関数をサポートしていない場合は、create_function:

<code class="php">$functions = array(
  'function1' => create_function('$echo', 'echo $echo;')
);</code>

を使用できます。ただし、このアプローチは非推奨であるため、可能であれば避けてください。

ストアド関数の呼び出し

使用される保存方法に関係なく、関数を直接呼び出すことも (PHP >= 5.4)、call_user_func/call_user_func_array:

<code class="php">$functions['function1']('Hello world!');

call_user_func($functions['function1'], 'Hello world!');</code>
を使用して呼び出すこともできます。

以上がPHP で関数を配列に格納するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。