在 PHP 陣列中儲存函數
在 PHP 中,可以在陣列中儲存函數。這有利於在程式碼中動態組織和存取函數。
匿名函數
建議的方法是使用匿名函數,它可以直接儲存在陣列中。使用以下語法建立匿名函數:
function ($args) { // Function body }
例如:
<code class="php">$functions = [ 'function1' => function ($echo) { echo $echo; } ];</code>
預聲明函數
如果您想要儲存已經宣告的函數,您可以簡單地透過名稱作為字串引用它:
<code class="php">function do_echo($echo) { echo $echo; } $functions = [ 'function1' => 'do_echo' ];</code>
使用create_function
在舊版本的PHP 中( 5.3 之前),不支援匿名函數。在這種情況下,您可以使用已棄用的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 數組中提供了存儲函數的能力數靈活性和組織性在程式碼中。匿名函數、預聲明函數參考和 create_function(已棄用)提供了不同的方法來實現此目的。
以上是如何在 PHP 數組中儲存和調用函數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!