原理
自己調用自己 稱之為“遞歸”,而不是回調
你也知道回調的關鍵是這個回
既然是回,那么就有一個誰是主體的問題,因為回調是往回調用的意思
我調用了函數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