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 相关文章推荐
文件上传程序的全部源码
Oct 09 PHP
How do I change MySQL timezone?
Mar 26 PHP
php下使用strpos需要注意 === 运算符
Jul 17 PHP
PHP对字符串的递增运算分析
Aug 08 PHP
解决ajax+php中文乱码的方法详解
Jun 09 PHP
PHP中的Streams详细介绍
Nov 12 PHP
php链表用法实例分析
Jul 09 PHP
Linux系统中设置多版本PHP共存配合Nginx服务器使用
Dec 21 PHP
php的socket编程详解
Nov 20 PHP
ThinkPHP框架分布式数据库连接方法详解
Mar 14 PHP
php app支付宝回调(异步通知)详解
Jul 25 PHP
php实现记事本案例
Oct 20 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
?生?D片??C字串
2006/12/06 PHP
PHP 中英文混合排版中处理字符串常用的函数
2007/04/12 PHP
PHP远程连接MYSQL数据库非常慢的解决方法
2008/07/05 PHP
PHP使用内置函数file_put_contents写入文件及追加内容的方法
2015/12/07 PHP
变量在 PHP7 内部的实现(二)
2015/12/21 PHP
PHP微信开发之根据用户回复关键词\位置返回附近信息
2016/06/24 PHP
php mysql procedure实现获取多个结果集的方法【基于thinkPHP】
2016/11/09 PHP
Laravel网站打开速度优化的方法汇总
2017/07/16 PHP
php实现断点续传大文件示例代码
2020/06/19 PHP
js可突破windows弹退效果代码
2008/08/09 Javascript
jQuery1.6 类型判断实现代码
2011/09/01 Javascript
js Map List 遍历使用示例
2013/07/10 Javascript
Windows 系统下安装和部署Egret的开发环境
2014/07/31 Javascript
Javascript 拖拽的一些简单的应用(逐行分析代码,让你轻松了拖拽的原理)
2015/01/23 Javascript
JavaScript检测字符串中是否含有html标签实现方法
2015/07/01 Javascript
详解JS几种变量交换方式以及性能分析对比
2016/11/25 Javascript
Angularjs自定义指令Directive详解
2017/05/27 Javascript
JavaScript实现单例模式实例分享
2017/12/22 Javascript
angularjs1.X 重构controller 的方法小结
2019/08/15 Javascript
浅谈Vue开发人员的7个最好的VSCode扩展
2021/01/20 Vue.js
wxPython 入门教程
2008/10/07 Python
Python中的对象,方法,类,实例,函数用法分析
2015/01/15 Python
Python爬虫天气预报实例详解(小白入门)
2018/01/24 Python
opencv-python 读取图像并转换颜色空间实例
2019/12/09 Python
python有序查找算法 二分法实例解析
2020/02/18 Python
keras输出预测值和真实值方式
2020/06/27 Python
Python join()函数原理及使用方法
2020/11/14 Python
详解Canvas 实现炫丽的粒子运动效果(粒子生成文字)
2018/02/01 HTML / CSS
Space NK美国站:英国高端美妆护肤商城
2017/05/22 全球购物
蛋白质世界:Protein World
2017/11/23 全球购物
俄罗斯鲜花递送:AMF
2020/04/24 全球购物
公务员培训自我鉴定
2014/02/01 职场文书
海飞丝的广告词
2014/03/20 职场文书
让生命充满爱演讲稿
2014/05/10 职场文书
党支部培养考察意见
2015/06/02 职场文书
python 爬取哔哩哔哩up主信息和投稿视频
2021/06/07 Python