Correcting teacher:PHPz
Correction status:qualified
Teacher's comments:
<?php
// 回调函数 大白话,将函数作为参数传递,传递的参数与函数本身各做个的事情,互不影响
function demo($num1,$num2,$func){
$func();
return $num1+$num2;// 执行回调函数不影响函数本身,回调函数一般使用异步,避免造成阻塞
}
function writeA(){
echo '这是回调函数 A<br />';
}
function writeB(){
echo '这是回调函数 B<br />';
}
function writeC(){
echo '这是回调函数 C<br />';
}
// 回调将函数名作为参数传递
$demoA = demo(22,22,'writeA');
$demoB = demo(33,33,'writeB');
$demoC = demo(44,55,'writeC');
echo "<br />";
echo '这是demo函数本身执行的返回结果'.$demoA."<br />";
echo '这是demo函数本身执行的返回结果'.$demoB."<br />";
echo '这是demo函数本身执行的返回结果'.$demoC."<br />";
echo "<br />";
$demoD = demo(66,88,function(){echo '这是通过传递匿名函数的结果<br />';});
echo "这是demo函数本身的计算结果返回值:".$demoD;
echo "<hr />";
// 递归函数,大白话,自己调用自己,但的有条件让他停止,否则将会成为死循环
function func($n){
$n++;
echo "这里是条件成立后输出的值:".$n."<br />";
if($n<5){
func($n); //当n 小于5时会反复调用func函数本身,直到条件不成立
}
echo "这里是条件不成立后输出的值:".$n."<br />"; //这里不会输出,直到上面的条件不成立,才会执行
}
func(1);