在 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>
如果函數已經聲明,您可以簡單地將其名稱用作字串:
Pre- PHP 5.3
<code class="php">$functions = array( 'function1' => create_function('$echo', 'echo $echo;') );</code>
如果使用5.3 之前的PHP 版本,您可以使用create_function():
用法
<code class="php">$functions['function1']('Hello world!'); call_user_func($functions['function1'], 'Hello world!');</code>
無論所選方法的函數可以直接調用,也可以使用call_user_func() 或call_user_func_array() 呼叫:
注意: 對於低於5.3 的PHP 版本,請考慮升級到更高版本改進功能和安全性的版本。以上是如何在 PHP 數組中儲存函數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!