首頁 >後端開發 >PHP問題 >什麼是回呼函數?怎麼定義的?其作用是什麼? (詳解及實例)

什麼是回呼函數?怎麼定義的?其作用是什麼? (詳解及實例)

慕斯
慕斯原創
2021-06-04 16:46:035199瀏覽

上篇文章為大家介紹了《PHP中什麼是變數函數?如何使用變數函數? (分享)》,本文繼續介紹什麼是回呼函數?怎麼定義的?其作用是什麼? (詳解及實例)有需要的朋友可以參考一下,希望對大家有幫助。

什麼是回呼函數:

#回呼函數,或簡稱回呼,是指透過函數參數傳遞到其它程式碼的,某一塊可執行程式碼的參考。回調函數不是由該函數的實現方直接調用,而是在特定的事件或條件發生時由另外的一方調用的,用於對該事件或條件進行響應。這項設計允許了底層程式碼呼叫在高層定義的子程式。回調的形式因程式設計語言的不同而不同。

簡單點說,使用者是實作方,實作方需要呼叫A()函數,但為了A()函數具有通用性,需要根據實作方的意願呼叫實作方提供的函數B(),這裡B()即為回呼函數。在Windows程式設計中回呼函數用途很廣泛。

我們以具體程式碼為例:

<?php
/**** * * *回调函数************/
//定义函数
    function write($func){ 
//变量函数的出现
             $func();
}
//定义一堆函数
    function writeA( ){
         echo&#39; 风轻云淡,岁月安好 <br>&#39; ;
}
    function writeB( ){
         echo &#39;孤独从一开始注定要用一生来承担 <br>&#39; ;
}
    function writeC(){
         echo &#39; 任何一件事情,只要心甘情愿,总是能够变得简单 <br>&#39; ;
}
//回调函数的出现
     write(&#39;writeA&#39;);
     write(&#39;writeB&#39;);
     write(&#39;writeC&#39;);
     ?>

程式碼解析:

首先我們先定義一個函數function write();此時變數函數出現,對於回呼函數,我們一樣先定義一推函數,如上述程式碼所示,我透過write函數進行調用,傳出一個字串,緊接著此字串會賦值給變數($func),當我們運行結果時,出現的結果是'風輕雲淡,歲月安好',(代碼結果如下所示),同樣,我們以此類推,依次輸出writeB,writeC,(代碼結果如下所示),因此我們可知,通過變量函數的方式,回過頭呼叫其他的函數,這就是回調函數。

什麼是回呼函數?怎麼定義的?其作用是什麼? (詳解及實例)

實例二:

<?php
/**** * * *回调函数************/
//定义函数
    function write($func){ 
//变量函数的出现
             $func();
}
//定义一堆函数
    function writeA( ){
         echo&#39; 风轻云淡,岁月安好 <br>&#39; ;
}
    function writeB( ){
         echo &#39;孤独从一开始注定要用一生来承担 <br>&#39; ;
}
    function writeC(){
         echo &#39; 任何一件事情,只要心甘情愿,总是能够变得简单 <br>&#39; ;
}
//回调函数的出现
     write(&#39;writeA&#39;);
     write(&#39;writeB&#39;);
     write(&#39;writeC&#39;);
     echo &#39;<hr>&#39;;
     writeC();
     ?>

當然,我們不使用回呼函數,直接輸出write(),也能夠輸出其結果;程式碼結果如下圖所示;

什麼是回呼函數?怎麼定義的?其作用是什麼? (詳解及實例)

什麼是回呼函數?怎麼定義的?其作用是什麼? (詳解及實例)

#根據以上我們再一次總結什麼是回呼函數:

#回呼函數只是變數函數的一種變量,本質上還是變數函數的應用。

在一個函數(A函數)中,透過變數函數的方式$var()呼叫另外一個函數(B函數,C函數),而其函數的名稱透過A函數的參數傳遞進來,這種

方式就是回到函數。因為函數A中的變數函數$var()會根據使用者傳入不同的實參回過頭呼叫不同名稱的其他函數。

function a($var){
$var(); //回调函数要素1,变量函数
}
a( &#39;b )//在a函数中调用b函数回调函数要素2. 传入函数名称字符串。

推薦學習:《PHP影片教學

以上是什麼是回呼函數?怎麼定義的?其作用是什麼? (詳解及實例)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn