关于匿名函数和回调函数的区别
为什么我看完老师的讲解之后感觉就是匿名函数就是回调函数啊
比如
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 星