関数を PHP 配列に効果的に保存するにはどうすればよいですか?

Linda Hamilton
リリース: 2024-11-01 08:06:02
オリジナル
937 人が閲覧しました

How can I store functions in PHP arrays effectively?

PHP 配列への関数の保存

PHP 配列内に関数を保存できるかどうかという疑問が生じます。たとえば、次の点を考慮してください:

$functions = [
  'function1' => function($echo) { echo $echo; }
];
ログイン後にコピー

これは実行可能なアプローチですか?そうでない場合、推奨される代替方法は何ですか?

推奨されるアプローチ: 匿名関数

配列に関数を格納するための推奨される方法には、匿名関数の利用が含まれます。上の例のように、これらはインラインで定義できます。

$functions = [
  'function1' => fn($echo) => $echo
];
ログイン後にコピー

外部関数の参照

事前に宣言された関数を扱う場合、次のように名前で参照できます。 strings:

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

$functions = [
  'function1' => 'do_echo'
];</code>
ログイン後にコピー

レガシーメソッド (PHP

匿名関数をサポートしていない古いバージョンの PHP の場合、create_function コンストラクトは次のようになります。採用:

<code class="php">$functions = [
  '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 バージョンでは create_function が使用できる、PHP 配列に関数を格納するには匿名関数が推奨されるアプローチです。

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

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!