PHPの配列に関数を格納することはできますか?
2023-11-26 16:43:28
質問
例
$functions = array(
'function1' => function($echo) { echo $echo; }
);
これは可能ですか?最良の選択肢は何でしょうか?
どのように解決するのですか?
推奨される方法は 匿名関数 :
$functions = [
'function1' => function ($echo) {
echo $echo;
}
];
すでに宣言されている関数を格納したい場合は、単に文字列の名前で参照することができます。
function do_echo($echo) {
echo $echo;
}
$functions = [
'function1' => 'do_echo'
];
古いバージョンの PHP (<5.3) では、匿名関数はサポートされていません。
create_function
(PHP 7.2以降非推奨)を使用する必要があるかもしれません。
$functions = array(
'function1' => create_function('$echo', 'echo $echo;')
);
これらのメソッドはすべて、ドキュメントに記載されている
callable
擬似型
.
どちらを選んでも、この関数は直接呼び出すか (PHP ≥5.4) あるいは
call_user_func
/
call_user_func_array
:
$functions['function1']('Hello world!');
call_user_func($functions['function1'], 'Hello world!');
関連
-
[解決済み] 警告:mysqli_fetch_array()は、パラメータ1がmysqli_resultであることを期待する、オブジェクトはで指定された。
-
[解決済み] [Solved] Fatal error: メンバ関数 query() の null への呼び出し。
-
[解決済み】SSLピア証明書またはSSHリモートキーがOKでなかった
-
[解決済み] 配列から特定の項目を削除するにはどうすればよいですか?
-
[解決済み] JavaScript で配列に値が含まれているかどうかを確認するにはどうすればよいですか?
-
[解決済み] 配列からArrayListを作成する
-
[解決済み] 配列に特定のインデックスで項目を挿入する方法 (JavaScript)
-
[解決済み] callとapplyの違いは何ですか?
-
[解決済み] JavaScriptで変数が配列であるかどうかを確認する方法は?
-
[解決済み] リファレンス - このシンボルはPHPで何を意味するのですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] [Solved] Fatal error: メンバ関数prepare()のNULLでの呼び出し
-
[解決済み】PHPで空の値からデフォルトオブジェクトを作成する?
-
[解決済み】PHP 7.2 - Warning: count(): パラメータは配列かCountableを実装したオブジェクトでなければならない [解決済み]
-
[解決済み】DateTimeクラスのオブジェクトを文字列に変換できない
-
[解決済み】Chrome net::ERR_INCOMPLETE_CHUNKED_ENCODING エラーが発生しました。
-
[解決済み] SQLSTATE[HY093]: 無効なパラメータ番号: パラメータが定義されていません
-
[解決済み】count()パラメータは配列かlaravelのcountableを実装したオブジェクトでなければならない
-
[解決済み】chromeの「net : Failed to load resource: net::ERR_SPDY_PROTOCOL_ERROR" は何がおかしいのか?
-
[解決済み】Wordpressの子テーマのstyle.cssが効かない。
-
[解決済み】書き込みコンテキストでメソッドの戻り値を使用することができない