关于匿名函数和回调函数的区别
为什么我看完老师的讲解之后感觉就是匿名函数就是回调函数啊
比如
1 2 3 4 | function cube($n){ echo 'n的三次幂是',($n*$n*$n),'<br/>';}call_user_func('cube',3); |
视频里老师说其中call_user_func('cube',3)里面的cube就是回调函数,3是参数
然后老师又说了上面那个例子的原始形态是
1 2 3 | call_user_func(function($n){ echo 'n的三次幂是',($n*$n*$n),'<br/>';},3); |
这不是就里面的
1 2 3 | function($n){ echo 'n的三次幂是',($n*$n*$n),'<br/>';},3 |
是回调函数,那个3就是参数的意思吗 但是这时候那个回调函数不就是个匿名函数吗
请原谅我的智商低,我是真的没搞懂啊
麻烦老师和大佬们帮我解释下到底怎么去理解啊
17
收起
正在回答
1回答
您好,call_user_func()函数把第一个参数作为回调函数调用。
将cube方法作为回调函数传入call_user_func()函数调用,第二个参数为回调函数的数值。
function cube($n){
echo 'n的三次幂是',($n*$n*$n),'<br/>';
}
call_user_func('cube',3);原始形态:此时将一个函数作为一个回调函数传入到call_user_func()函数调用,第二个参数为回调函数的数值。
call_user_func(function($n){
echo 'n的三次幂是',($n*$n*$n),'<br/>';
},3);此时,原始形态中的函数(下面代码)是一个匿名函数,是作为一个回调函数传入的系统函数。作用等价于封装的cube函数。
function($n){
echo 'n的三次幂是',($n*$n*$n),'<br/>';
}如果解决了您的问题,请采纳,祝学习愉快!
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星