批改状态:未批改
老师批语:
//demo9 : 匿名函数和闭包函数:
//闭包函数:有权访问另一个函数作用域中变量的函数,创建闭包的常见方式,就是在一个函数内部创建另一个函数;
//匿名函数:就是一个没有名称的函数,他的函数直接赋值给一个变量;
//1、匿名函数 ,结尾必须加分号。
$name = '我是一个大坏蛋';
echo 'demo9_1:<br>';
$good = function (){
return '我是一个好人';
};
echo $good() . '<hr>';
$qq = '******************************************************';
echo 'demo9_1_1:<br>';
// 匿名函数使用use(外部变量)来在内部使用
$good1 =function() use($name){
return 'good1 = '.$name;
};
echo $good1().'<hr>';
$qq = '******************************************************';
echo 'demo9_2:<br>';
//2、闭包函数 : ues() 只是获取父作用域中的变量,需要层层传递 ,闭包有两种方式
$msg = 'hello';
$ms = function()use($msg){
$name = '王霸';
echo $msg;
echo "\n---------\n";
$ui = function () use($msg,$name){ //闭包方式1:函数赋值给变量
// return function() use($msg,$name) { //闭包方式2 ,没有函数名就得直接用return
echo $msg . ' : ' ;
echo $name;
};
echo $ui(); //闭包方式1 在函数内部调用,外部调用一次就可
};
echo $ms() . '<hr>'; //方式1 调用
//echo $ms()(); //方式2 调用
//demo10 : 数组内容排序
echo 'demo10:<br>';
$arr1 = [5,2,7,3,1,10,8,3,2,5];
//var_dump($arr1);
usort($arr1,function($a,$b)
{
//return $a - $b; //正序排列;
return $a <=> $b; //倒叙排列 -或者 <=>都可以,后者是PHP7.0新语法
});
print_r($arr1);点击 "运行实例" 按钮查看在线实例
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号