您好,登錄后才能下訂單哦!
小編給大家分享一下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中什么是回調函數”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。