摘要:先看一下C语言里的回调函数:回调函数就是一个通过函数指针调用的函数。如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用来调用其所指向的函数时,我们就说这是回调函数。回调函数不是由该函数的实现方直接调用,而是在特定的事件或条件发生时由另外的一方调用的,用于对该事件或条件进行响应。
# 在php中回调函数的声明
<?php
function Calculate(Condition){
for(i=0;i<=10;i++){
if(Condition(i)){
continue;
}
echo i." ";
}
}
function Condition_1(a){
return a%2 == 0; //打印不能被2整除的数
}
function Condition_2(b){
return $b >=6; //打印小于6的数
}
Calculate("Condition_1");
echo "<br>";
Calculate("Condition_2");
?>
执行结果:
1 3 5 7 9
0 1 2 3 4 5
你可以这样理解:首先运行的是Calculate("Condition_1")这个函数,参数是Condition_1,然后带到Calculate函数内,所以在if判断那成了Condition_1(i),所以又运行Condition_1(a)这个函数,如果结果为真,返回到if判断那为真,则continue结束本次循环,在继续判断下一个,依此类推,Calculate("Condition_2")同理。
其实通俗的来说就是调用函数的时候将另一个函数作为参数传递到调用的函数中,而不是传递一个普通的变量作为参数