php函數之回呼函數(二) call_user_func_array() 函數

伊谢尔伦
發布: 2023-03-07 18:44:02
原創
2229 人瀏覽過

回呼函數將一個函數作為參數傳遞到呼叫的函數中。如果在函數的格式說明中出現 callback 類型的參數,則該函數就是回呼函數。雖然可以使用變數函數去宣告自己的回呼函數,但最多的還是透過call_user_func_array()函數去實作。上一章節介紹了php回呼函數中的變數函數宣告和應用,使用變數函數將一個使用者自訂的執行過程傳遞到函數中使用,大大增加了使用者對函數功能的擴展,把一段自己定義的功能傳到函數內部使用。本節就實例說明下 call_user_func_array()函數。

函數call_user_func_array() 是PHP 中的內建函數,其實它也是回呼函數,其格式說明如下:

mixed call_user_func_array( callback function, array param_arr)
登入後複製

這個函數有兩個參數:第一個參數因為使用偽類型callback, 所以這個參數需要一個字串,表示要呼叫的函數名;第二個參數則是陣列類型的參數,表示參數列表,依照順訊一次會傳遞給要呼叫的函數。宣告一個函數,功能是輸出,目的是作為函數的回呼函數。

該函數的應用實例如下所示:

"; echo "$str2 = ".$str2; } //通过系统函数call_user_func_array()调用函数fun() call_user_func_array("fun",array("php.cn","php中文网")); ?>
登入後複製

#在在上面的實例中,透過系統函數call_user_func_array () 呼叫自己定義的函數fun(),將函數fun() 的名稱字串傳遞給了call_user_func_array() 函數中的第一個參數,第二個參數則需要的是一個數組,數組中的元素個數必須和 fun()函數的參數列表和樹相同。因為這個陣列參數中的每個元素值都會經過 call_user_func_array() 函數 ,依照順序依序傳遞給回調到的函數 fun()參數清單中。所以我們可以將前面透過變數函數實現的自訂回呼函數,改成借助 call_user_func_array() 函數的方式實作。

其程式碼的範例如下:

'; } } ?>
登入後複製

在本例中,自訂的函數 filter()內部,將原先的變數函數位置改寫成藉助call_user_func_array() 函數的呼叫方式,而函數 filter()的應用方式則沒有改變。

這一章講解了php回呼函數的call_user_func_array()函數及其用法,下一章我們將介紹php回呼函數的類別靜態函數和物件的方法回呼。

【相關教學推薦】

1. 《php.cn獨孤九賤(4)-php影片教學

2 .php程式設計從入門到精通全套視訊教學

3.php實戰影片教學

########

以上是php函數之回呼函數(二) call_user_func_array() 函數的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!