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
php中计算中文字符串长度、截取中文字符串的函数代码
Aug 09 PHP
优化PHP程序的方法小结
Feb 23 PHP
用php随机生成福彩双色球号码的2种方法
Feb 04 PHP
利用中国天气预报接口实现简单天气预报
Jan 20 PHP
php CI框架插入一条或多条sql记录示例
Jul 29 PHP
php实现可用于mysql,mssql,pg数据库操作类
Dec 13 PHP
PHP中字符安全过滤函数使用小结
Feb 25 PHP
基于php的微信公众平台开发入门实例
Apr 15 PHP
php计算给定日期所在周的开始日期和结束日期示例
Feb 06 PHP
python进程与线程小结实例分析
Nov 11 PHP
Laravel第三方包报class not found的解决方法
Oct 13 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
在WAMP环境下搭建ZendDebugger php调试工具的方法
2011/07/18 PHP
CI(CodeIgniter)框架中的增删改查操作
2014/06/10 PHP
redis查看连接数及php模拟并发创建redis连接的方法
2016/12/15 PHP
php封装db类连接sqlite3数据库的方法实例
2017/12/19 PHP
PHP基于mcript扩展实现对称加密功能示例
2019/02/21 PHP
HTTP头隐藏PHP版本号实现过程解析
2020/12/09 PHP
javascript 点击整页变灰的效果(可做退出效果)。
2008/01/09 Javascript
为jQuery增加join方法的实现代码
2010/11/28 Javascript
Js中的onblur和onfocus事件应用介绍
2013/08/27 Javascript
jQuery 动态云标签插件
2014/11/11 Javascript
Java中Timer的用法详解
2015/10/21 Javascript
深入理解事件冒泡(Bubble)和事件捕捉(capture)
2016/05/28 Javascript
jQuery.uploadify文件上传组件实例讲解
2016/09/23 Javascript
JavaScript基础——使用Canvas绘图
2016/11/02 Javascript
9个让JavaScript调试更简单的Console命令
2016/11/14 Javascript
JS冒泡事件与事件捕获实例详解
2016/11/25 Javascript
详解在vue-cli项目中使用mockjs(请求数据删除数据)
2017/10/23 Javascript
vue-cli项目修改文件热重载失效的解决方法
2018/09/19 Javascript
详解处理Vue单页面应用SEO的另一种思路
2018/11/09 Javascript
vue搜索和vue模糊搜索代码实例
2019/05/07 Javascript
VUE 单页面使用 echart 窗口变化时的用法
2020/07/30 Javascript
javascript实现京东登录显示隐藏密码
2020/08/02 Javascript
使用Python中PDB模块中的命令来调试Python代码的教程
2015/03/30 Python
python使用reportlab实现图片转换成pdf的方法
2015/05/22 Python
Python中类的初始化特殊方法
2017/12/01 Python
python 重定向获取真实url的方法
2018/05/11 Python
Python爬虫框架Scrapy基本用法入门教程
2018/07/26 Python
Django中如何防范CSRF跨站点请求伪造攻击的实现
2019/04/28 Python
Python 使用指定的网卡发送HTTP请求的实例
2019/08/21 Python
python实现身份证实名认证的方法实例
2019/11/08 Python
Vince官网:全球著名设计师品牌,休闲而优雅的服饰
2017/01/15 全球购物
企业年会祝酒词
2015/08/11 职场文书
七年级数学教学反思
2016/02/17 职场文书
python字符串拼接.join()和拆分.split()详解
2021/11/23 Python
Python+OpenCV实现在图像上绘制矩形
2022/03/21 Python
详解OpenCV获取高动态范围(HDR)成像
2022/04/29 Python