php回調函數原理和實例


原理

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

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

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

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函數

 

代碼

<?php
function text1(){
    echo '這個是text1';

}
function text2($username){
    echo '這個是text2'.'<br/>'.'這里是username的值:'.$username;
}
//回調函數:函數體內的名稱是我們傳入的參數();
function callBack($call,$str){
    $call($str);
}
//回調函數的使用就是傳入的參數是你想要回調的函數名稱
callBack('text2','小明');
echo '<hr/>';
call_user_func('text2','測試');

 

 

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

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

 

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

 

轉:https://www.cnblogs.com/Renyi-Fan/p/8545642.html

 


免責聲明!

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



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