批改状态:合格
老师批语:任何一种编程思维都是来自普通的生活常识, 发明这个东西的也是正常人类, 也是从生活中受到启发的
今晚学习了匿名函数,以及匿名函数的使用场景。课堂听的还行,不过联系的时候花了不少的时间调整,主要是如何深入理解,变成自己的。教程反复看了好多遍,也练习了好多遍,算是悄悄掌握了吧。现将成果演示如下:
<?php
//匿名函数三个应用场景
// 1、值的应用
$name=function ($username){
return 'Hello!~'.$username.'国庆节快乐!';
};
echo $name('PHP中文网');
?>点击 "运行实例" 按钮查看在线实例
<?php
//2、回调函数
//array_map
$num = array_map(function($nums) {
return $nums *10;
}, [1, 2, 3]);
print_r($num);
?>点击 "运行实例" 按钮查看在线实例
<?php
//闭包的使用----获取父作用域中的变量值
$bibao = function($name){
$sex = '男';
$func = function($age,$xuexi)use ($name,$sex){
return "姓名:{$name} 性别:"."{$sex}"."年龄:{$age},在 {$xuexi}";
};
return $func(23,"PHP中文网");
};
$func =$bibao("赵桂福");
echo $func;
?>点击 "运行实例" 按钮查看在线实例
总结: 闭包的使用还是不灵活,这个估计是多联系才可以深入理解。
二、多个命名空间的演示
下面是在一个文件里面练习了多个命名空间实例。
<?php
//实例演示多个命名空间的场景
namespace Mynamespace1 {
class Name {
function show(){
return __namespace__;
}
}
}
namespace Mynamespace2 {
class Name2 {
function show(){
return __namespace__;
}
}
}
namespace Mynamespace3 {
class Name3 {
function show(){
return __namespace__;
}
}
}
namespace {
$one = new \Mynamespace1\Name();
echo $one->show();
echo "<hr/>";
$two = new \Mynamespace2\Name2();
echo $two->show();
echo "<hr/>";
$three = new \Mynamespace3\Name3();
echo $three->show();
}
?>点击 "运行实例" 按钮查看在线实例
总结: 感觉命名空间像桌面系统的文件路径,相同的文件名可以在不同的目录下存在,但是不能够在同一个路径同一目录下存在。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号