上篇文章為大家介紹了《PHP中什麼是變數函數?如何使用變數函數? (分享)》,本文繼續介紹什麼是回呼函數?怎麼定義的?其作用是什麼? (詳解及實例)有需要的朋友可以參考一下,希望對大家有幫助。
什麼是回呼函數:
#回呼函數,或簡稱回呼,是指透過函數參數傳遞到其它程式碼的,某一塊可執行程式碼的參考。回調函數不是由該函數的實現方直接調用,而是在特定的事件或條件發生時由另外的一方調用的,用於對該事件或條件進行響應。這項設計允許了底層程式碼呼叫在高層定義的子程式。回調的形式因程式設計語言的不同而不同。
簡單點說,使用者是實作方,實作方需要呼叫A()函數,但為了A()函數具有通用性,需要根據實作方的意願呼叫實作方提供的函數B(),這裡B()即為回呼函數。在Windows程式設計中回呼函數用途很廣泛。
我們以具體程式碼為例:
<?php /**** * * *回调函数************/ //定义函数 function write($func){ //变量函数的出现 $func(); } //定义一堆函数 function writeA( ){ echo' 风轻云淡,岁月安好 <br>' ; } function writeB( ){ echo '孤独从一开始注定要用一生来承担 <br>' ; } function writeC(){ echo ' 任何一件事情,只要心甘情愿,总是能够变得简单 <br>' ; } //回调函数的出现 write('writeA'); write('writeB'); write('writeC'); ?>
程式碼解析:
首先我們先定義一個函數function write();此時變數函數出現,對於回呼函數,我們一樣先定義一推函數,如上述程式碼所示,我透過write函數進行調用,傳出一個字串,緊接著此字串會賦值給變數($func),當我們運行結果時,出現的結果是'風輕雲淡,歲月安好',(代碼結果如下所示),同樣,我們以此類推,依次輸出writeB,writeC,(代碼結果如下所示),因此我們可知,通過變量函數的方式,回過頭呼叫其他的函數,這就是回調函數。
實例二:
<?php /**** * * *回调函数************/ //定义函数 function write($func){ //变量函数的出现 $func(); } //定义一堆函数 function writeA( ){ echo' 风轻云淡,岁月安好 <br>' ; } function writeB( ){ echo '孤独从一开始注定要用一生来承担 <br>' ; } function writeC(){ echo ' 任何一件事情,只要心甘情愿,总是能够变得简单 <br>' ; } //回调函数的出现 write('writeA'); write('writeB'); write('writeC'); echo '<hr>'; writeC(); ?>
當然,我們不使用回呼函數,直接輸出write(),也能夠輸出其結果;程式碼結果如下圖所示;
#根據以上我們再一次總結什麼是回呼函數:
#回呼函數只是變數函數的一種變量,本質上還是變數函數的應用。
在一個函數(A函數)中,透過變數函數的方式$var()呼叫另外一個函數(B函數,C函數),而其函數的名稱透過A函數的參數傳遞進來,這種
方式就是回到函數。因為函數A中的變數函數$var()會根據使用者傳入不同的實參回過頭呼叫不同名稱的其他函數。
function a($var){ $var(); //回调函数要素1,变量函数 } a( 'b )//在a函数中调用b函数回调函数要素2. 传入函数名称字符串。
推薦學習:《PHP影片教學》
以上是什麼是回呼函數?怎麼定義的?其作用是什麼? (詳解及實例)的詳細內容。更多資訊請關注PHP中文網其他相關文章!