php回調函數原理和實例


php回調函數原理和實例

原理

自己調用自己 稱之為“遞歸”,而不是回調

你也知道回調的關鍵是這個回
既然是回,那么就有一個誰是主體的問題,因為回調是往回調用的意思
我調用了函數A,而函數A在執行過程中調用了我提供的函數B,這個函數B就稱為函數A的回調函數
顯然主體是函數A

我們知道,函數是完成某個特定功能的代碼集合,在函數執行的過程中,一般是不能去干預他的行為的
當函數被設計成帶有回調功能時,我們就有可能在函數的執行過程中,通過回調函數去干預他。例如

PHP code
 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
function  foo( $n $f = '' ) {
   if ( $n  < 1)  return ;
   for ( $i =0;  $i < $n $i ++) {
     echo  $f  $f ( $i ) :  $i ;
   }
}
//無回調時
foo(5);  //01234
 
//有回調時
function  f1( $v ) {
   return  $v  $v ;
}
foo(5,  'f1' );  //02468

 這里就是foo函數去調用(回調)了f1函數

 

代碼

 1 <?php
 2 function text1(){
 3     echo '這個是text1';
 4 
 5 }
 6 function text2($username){
 7     echo '這個是text2'.'<br/>'.'這里是username的值:'.$username;
 8 }
 9 //回調函數:函數體內的名稱是我們傳入的參數();
10 function callBack($call,$str){
11     $call($str);
12 }
13 //回調函數的使用就是傳入的參數是你想要回調的函數名稱
14 callBack('text2','小明');
15 echo '<hr/>';
16 call_user_func('text2','測試');

10、回調函數的函數名,和回調函數需要的參數值

16、有自己寫的回調函數和call_user_func兩種

 

回調函數,通過別的函數來調用這個函數,所以要傳給調用這個函數的那個函數這個函數的名字和需要的參數。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM