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中获取文件扩展名的N种方法小结
Feb 27 PHP
php缓冲 output_buffering的使用详解
Jun 13 PHP
解析PHPExcel使用的常用说明以及把PHPExcel整合进CI框架的介绍
Jun 24 PHP
Codeigniter框架的更新事务(transaction)BUG及解决方法
Jul 25 PHP
php中使用gd库实现远程图片下载实例
May 12 PHP
PHP如何将XML转成数组
Apr 04 PHP
php短信接口代码
May 13 PHP
PHP实现的MD5结合RSA签名算法实例
Oct 07 PHP
PHP聚合式迭代器接口IteratorAggregate用法分析
Dec 28 PHP
PHP简单实现正则匹配省市区的方法
Apr 13 PHP
php代码调试利器firephp安装与使用方法分析
Aug 21 PHP
PHP随机数函数rand()与mt_rand()的讲解
Mar 25 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文件夹的创建与删除方法
2015/01/24 PHP
javascript实现的像java、c#之类的sleep暂停的函数代码
2010/03/04 Javascript
JS焦点图切换,上下翻转
2011/05/12 Javascript
javascript字符串循环匹配实例分析
2015/07/17 Javascript
jQuery实现带玻璃流光质感的手风琴特效
2015/11/20 Javascript
jQuery实现隔行变色的方法分析(对比原生JS)
2016/11/18 Javascript
JS获取本周周一,周末及获取任意时间的周一周末功能示例
2017/02/09 Javascript
Vue开发之watch监听数组、对象、变量操作分析
2019/04/25 Javascript
微信小程序文字显示换行问题
2019/07/28 Javascript
js实现点赞按钮功能的实例代码
2020/03/06 Javascript
解决vue的touchStart事件及click事件冲突问题
2020/07/21 Javascript
Vue组件通信$attrs、$listeners实现原理解析
2020/09/03 Javascript
[14:25]教你分分钟做大人:主宰(HEROS)
2014/12/08 DOTA
[00:57]辉夜杯战队访谈宣传片—VG
2015/12/25 DOTA
python查看微信好友是否删除自己
2016/12/19 Python
python递归查询菜单并转换成json实例
2017/03/27 Python
对python打乱数据集中X,y标签对的方法详解
2018/12/14 Python
python使用Plotly绘图工具绘制水平条形图
2020/03/25 Python
简单了解python高阶函数map/reduce
2019/06/28 Python
Python3 解决读取中文文件txt编码的问题
2019/12/20 Python
pytorch常见的Tensor类型详解
2020/01/15 Python
基于Python实现人脸自动戴口罩系统
2020/02/06 Python
ubuntu 安装pyqt5和卸载pyQt5的方法
2020/03/24 Python
CSS3中设置3D变形的transform-style属性详解
2016/05/23 HTML / CSS
StubHub德国:购买和出售门票
2017/09/06 全球购物
KIKO MILANO英国官网:意大利知名化妆品和护肤品品牌
2017/09/25 全球购物
韩国11街:11STREET
2018/03/27 全球购物
西班牙香水和化妆品连锁店:Druni
2019/05/05 全球购物
中国京东和泰国中央集团合资的网站:JD CENTRAL
2020/08/22 全球购物
eDreams德国:南欧领先的在线旅游公司
2020/12/07 全球购物
新闻编辑求职信
2014/04/09 职场文书
车贷收入证明范本
2014/09/14 职场文书
幼儿园教师师德师风承诺书
2015/04/28 职场文书
Python使用protobuf序列化和反序列化的实现
2021/05/19 Python
排查并解决MySQL生产库内存使用率高的报警
2022/04/11 MySQL
vue 把二维或多维数组转一维数组
2022/04/24 Vue.js