摘要:<?php /** * 回调函数 * 1.匿名函数相当于一个变量,在另一个函数中调用匿名函数 * 2.在一个函数中调用一个普通函数 **/ $add=function($a,$b){ return "$a+$b=".($a+$b); }; echo&
<?php
/**
* 回调函数
* 1.匿名函数相当于一个变量,在另一个函数中调用匿名函数
* 2.在一个函数中调用一个普通函数
**/
$add=function($a,$b){
return "$a+$b=".($a+$b);
};
echo call_user_func_array($add,[50,20]).'<hr>';
//闭包函数(匿名函数当作局部变量,函数参数,函数返回值)
//1.当作局部变量
$func1=function($name2){
$name1='美国';
$situation=function() use($name1,$name2){
return $name1.'采用恶劣手段遏制'.$name2.'科技的发展';
};
return $situation();
};
echo $func1('中国').'<hr>';
//2.当作函数参数
$name2='中国';
$name1='美国';
$situation=function() use($name1,$name2){
return $name1.'采用恶劣手段遏制'.$name2.'科技的发展';
};
$func1=function(callable $a){
return $a();
};
echo $func1($situation).'<hr>';
//3.当作函数返回值
$func1=function($name2){
$name1='美国';
$situation=function() use($name1,$name2){
return $name1.'采用恶劣手段遏制'.$name2.'科技的发展';
};
return $situation;
};
echo $func1('中国')().'<hr>';总结:这几节课涉及的知识点:匿名函数的概念、函数参数、回调函数以及闭包的使用。匿名函数类似于一个变量,只是这个变量的值是一个函数的定义。回调函数就是在一个函数调用另一个函数,这个函数是以参数的形式传入的,也叫函数注入。闭包最常见的是匿名函数的三种应用场景,当作局部变量,函数的参数,函数的返回值,当为函数的返回值时,返回的是一个函数的定义,而前两种的匿名函数必须要执行才可以形成闭包。
运行结果:
批改老师:韦小宝批改时间:2018-12-13 11:26:37
老师总结:写的很不错!条例清晰!注释完整!很棒!继续加油吧!