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下检测字符串是否是utf8编码的代码
Jun 28 PHP
PHP 读取文件的正确方法
Apr 29 PHP
php中使用preg_match_all匹配文章中的图片
Feb 06 PHP
修改apache配置文件去除thinkphp url中的index.php
Jan 17 PHP
php判断正常访问和外部访问的示例
Feb 10 PHP
PHP获取指定函数定义在哪个文件中以及其所在的行号实例
May 08 PHP
php递归创建目录的方法
Feb 02 PHP
laravel容器延迟加载以及auth扩展详解
Mar 02 PHP
PHP上传图片类显示缩略图功能
Jun 30 PHP
thinkphp关于简单的权限判定方法
Apr 03 PHP
php设计模式之模板模式实例分析【星际争霸游戏案例】
Mar 24 PHP
php解析非标准json、非规范json的方式实例
May 10 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学习笔记 类的声明与对象实例化
2011/06/13 PHP
PHP采用自定义函数实现遍历目录下所有文件的方法
2014/08/19 PHP
百度工程师讲PHP函数的实现原理及性能分析(一)
2015/05/13 PHP
PHP随机数 C扩展随机数
2016/05/04 PHP
PHP实现转盘抽奖算法分享
2020/04/15 PHP
Prototype使用指南之base.js
2007/01/10 Javascript
在easyUI开发中,出现jquery.easyui.min.js函数库问题的解决办法
2015/09/11 Javascript
基于JavaScript判断浏览器到底是关闭还是刷新(超准确)
2016/02/01 Javascript
基于JavaScript实现拖动滑块效果
2017/02/16 Javascript
AngularJS2中一种button切换效果的实现方法(二)
2017/03/27 Javascript
原生JS发送异步数据请求
2017/06/08 Javascript
iscroll.js滚动加载实例详解
2017/07/18 Javascript
vue2手机APP项目添加开屏广告或者闪屏广告
2017/11/28 Javascript
jQuery实现文字超过1行、2行或规定的行数时自动加省略号的方法
2018/03/28 jQuery
Node 代理访问的实现
2019/09/19 Javascript
JS面向对象编程——ES6 中class的继承用法详解
2020/03/03 Javascript
写给新手同学的vuex快速上手指北小结
2020/04/14 Javascript
[40:50]2014 DOTA2国际邀请赛中国区预选赛 5 23 CIS VS LGD第四场
2014/05/24 DOTA
[02:54]DOTA2亚洲邀请赛 VG战队出场宣传片
2015/02/07 DOTA
关于python的list相关知识(推荐)
2017/08/30 Python
一篇文章读懂Python赋值与拷贝
2018/04/19 Python
Selenium定时刷新网页的实现代码
2018/10/31 Python
Python数据集切分实例
2018/12/08 Python
Python3数字求和的实例
2019/02/19 Python
详解Python 函数如何重载?
2019/04/23 Python
详解【python】str与json类型转换
2019/04/29 Python
Python爬虫之Selenium设置元素等待的方法
2020/12/04 Python
后勤自我鉴定
2013/10/13 职场文书
学校安全工作制度
2014/01/19 职场文书
退休感言
2014/01/28 职场文书
《学会待客》教学反思
2014/02/22 职场文书
电子商务优秀毕业生求职信
2014/07/11 职场文书
大学生入党自传2015
2015/06/26 职场文书
如何让2019年上半年的工作总结更出色!
2019/07/01 职场文书
2019年最新七夕唯美祝福语(60条)
2019/07/22 职场文书
Python爬虫 简单介绍一下Xpath及使用
2022/04/26 Python