PHP匿名函数和use子句用法实例


Posted in PHP onMarch 16, 2016

本文实例讲述了PHP匿名函数和use子句用法。分享给大家供大家参考,具体如下:

下面方法输出的是hello world

$param1和$param2是闭包变量

function test()
{
  $param2 = 'every';
  // 返回一个匿名函数
  return function ($param1) use ($param2) {
    // use子句 让匿名函数使用其作用域的变量
    $param2 .= 'one';
    print $param1 . ' ' . $param2;
  };
}
$anonymous_func = test();
$anonymous_func('hello');

下面的方式 输出hello everyone

function test()
{
  $param2 = 'everyone';
  $func = function ($param1) use ($param2) {
    // use子句 让匿名函数使用其父作用域的变量
    print $param1 . ' ' . $param2;
  };
  $param2 = 'everybody';
  return $func;
}
$anonymous_func = test();
$anonymous_func('hello');

下面的方式 输出hello everybody

$param2中多了一个引用

function test()
{
  $param2 = 'everyone';
  $func = function ($param1) use (&$param2) {
    // use子句 让匿名函数使用其父作用域的变量
    print $param1 . ' ' . $param2;
  };
  $param2 = 'everybody';
  return $func;
}
$anonymous_func = test();
$anonymous_func('hello');

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
php 向访客和爬虫显示不同的内容
Nov 09 PHP
PHP 获取远程网页内容的代码(fopen,curl已测)
Jun 06 PHP
PHP模块 Memcached功能多于Memcache
Jun 14 PHP
给初学者的30条PHP最佳实践(荒野无灯)
Aug 02 PHP
解析PHP中$_FILES的使用以及注意事项
Jul 05 PHP
Yii入门教程之目录结构、入口文件及路由设置
Nov 25 PHP
thinkphp备份数据库的方法分享
Jan 04 PHP
Windows7下的php环境配置教程
Feb 28 PHP
PHP数组操作类实例
Jul 11 PHP
CentOS下与Apache连接的PHP多版本共存方案实现详解
Dec 19 PHP
php文件操作小结(删除指定文件/获取文件夹下的文件名/读取文件夹下图片名)
May 09 PHP
解决PHP上传非标准格式的图片pjpeg失败的方法
Mar 12 PHP
PHP Static延迟静态绑定用法分析
Mar 16 #PHP
PHP5.5迭代生成器用法实例详解
Mar 16 #PHP
Laravel执行migrate命令提示:No such file or directory的解决方法
Mar 16 #PHP
PHP 中提示undefined index如何解决(多种方法)
Mar 16 #PHP
Laravel中Trait的用法实例详解
Mar 16 #PHP
Laravel中注册Facades的步骤详解
Mar 16 #PHP
PHP与Ajax相结合实现登录验证小Demo
Mar 16 #PHP
You might like
php错误、异常处理机制(补充)
2012/05/07 PHP
PHP Cookei记录用户历史浏览信息的代码
2016/02/03 PHP
php unicode编码和字符串互转的方法
2020/08/12 PHP
php可变长参数处理函数详解
2017/02/22 PHP
PHP-FPM 设置多pool及配置文件重写操作示例
2019/10/02 PHP
Javascript 页面模板化很多人没有使用过的方法
2012/06/05 Javascript
浅析JavaScript中的同名标识符优先级
2013/12/06 Javascript
[将免费进行到底]在Amazon的一年免费服务器上安装Node.JS, NPM和OurJS博客
2014/08/18 Javascript
Javascript动态创建div的方法
2015/02/09 Javascript
基于JQuery实现仿网易邮箱全屏动感滚动插件fullPage
2015/09/20 Javascript
jQuery实现删除li节点的方法
2016/12/06 Javascript
AngularJS使用带属性值的ng-app指令实现自定义模块自动加载的方法
2017/01/04 Javascript
vue实现仿淘宝结账页面实例代码
2017/11/08 Javascript
解决使用vue.js路由后失效的问题
2018/03/17 Javascript
深入浅析Vue.js中 computed和methods不同机制
2018/03/22 Javascript
Vue条件循环判断+计算属性+绑定样式v-bind的实例
2018/09/18 Javascript
如何在微信小程序中使用骨架屏的步骤
2020/06/12 Javascript
vuex分模块后,实现获取state的值
2020/07/26 Javascript
JavaScript实现点击切换验证码及校验
2021/01/10 Javascript
python解析发往本机的数据包示例 (解析数据包)
2014/01/16 Python
Python实现PS滤镜的万花筒效果示例
2018/01/23 Python
python 遍历列表提取下标和值的实例
2018/12/25 Python
连接pandas以及数组转pandas的方法
2019/06/28 Python
python自动化测试之DDT数据驱动的实现代码
2019/07/23 Python
Python使用urllib模块对URL网址中的中文编码与解码实例详解
2020/02/18 Python
python进行参数传递的方法
2020/05/12 Python
HTML5中的新元素介绍
2008/10/17 HTML / CSS
英国当代时尚和街头服饰店:18montrose
2018/12/15 全球购物
澳大利亚领先的亚麻品牌:Bed Threads
2019/12/16 全球购物
会计主管岗位职责
2014/01/03 职场文书
发展部经理职责规定
2014/02/22 职场文书
新文化运动的基本口号
2014/06/21 职场文书
小学教师党员承诺书
2015/04/27 职场文书
何玥事迹观后感
2015/06/16 职场文书
廉洁自律准则学习心得体会
2016/01/13 职场文书
Vue3.0中Ref与Reactive的区别示例详析
2021/07/07 Vue.js