今晚学习了匿名函数,以及匿名函数的使用场景。课堂听的还行,不过联系的时候花了不少的时间调整,主要是如何深入理解,变成自己的。教程反复看了好多遍,也练习了好多遍,算是悄悄掌握了吧。现将成果演示如下:
实例
<?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(); } ?>
运行实例 »
点击 "运行实例" 按钮查看在线实例
总结: 感觉命名空间像桌面系统的文件路径,相同的文件名可以在不同的目录下存在,但是不能够在同一个路径同一目录下存在。