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 相关文章推荐
dedecms中常见问题修改方法总结
Mar 21 PHP
PHP之变量、常量学习笔记
Mar 27 PHP
discuz加密解密函数使用方法和中文注释
Jan 21 PHP
PHP实现的英文名字全拼随机排号脚本
Jul 04 PHP
PHP+Mysql基于事务处理实现转账功能的方法
Jul 08 PHP
php进行ip地址掩码运算处理的方法
Jul 11 PHP
ThinkPHP 整合Bootstrap Ajax分页样式
Dec 23 PHP
PHP后期静态绑定之self::限制实例分析
Dec 21 PHP
php中isset与empty函数的困惑与用法分析
Jul 05 PHP
Laravel 集成微信用户登录和绑定的实现
Dec 27 PHP
php数组函数array_push()、array_pop()及array_shift()简单用法示例
Jan 26 PHP
thinkphp5.1框架模板赋值与变量输出示例
May 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
全国中波电台频率表
2020/03/11 无线电
社区(php&&mysql)二
2006/10/09 PHP
PHP gbk环境下json_dencode传送来的汉字
2012/11/13 PHP
php selectradio和checkbox默认选择的实现方法详解
2013/06/29 PHP
thinkphp的c方法使用示例
2014/02/24 PHP
php自定义函数实现统计中文字符串长度的方法小结
2017/04/15 PHP
yii2中LinkPager增加总页数和总记录数的实例
2017/08/28 PHP
JavaScript写的一个DIV 弹出网页对话框
2009/08/14 Javascript
javascript使用正则控制input输入框允许输入的值方法大全
2014/06/19 Javascript
jQuery图片特效插件Revealing实现拉伸放大
2015/04/22 Javascript
详解JavaScript中的异常处理方法
2015/06/16 Javascript
JavaScript验证Email(3种方法)
2015/09/21 Javascript
jquery密码强度校验
2015/12/02 Javascript
javascript html5移动端轻松实现文件上传
2020/03/27 Javascript
推荐10款扩展Web表单的JS插件
2017/12/25 Javascript
vue在自定义组件中使用v-model进行数据绑定的方法
2019/03/25 Javascript
webpack 处理CSS资源的实现
2019/09/27 Javascript
微信小程序 textarea 层级过高问题简单解决方案
2019/10/14 Javascript
Python中的tuple元组详细介绍
2015/02/02 Python
python编程线性回归代码示例
2017/12/07 Python
Python编程argparse入门浅析
2018/02/07 Python
Python安装图文教程 Pycharm安装教程
2018/03/27 Python
python顺序执行多个py文件的方法
2019/06/29 Python
Python常用数据类型之间的转换总结
2019/09/06 Python
Python autoescape标签用法解析
2020/01/17 Python
python实现将字符串中的数字提取出来然后求和
2020/04/02 Python
大数据分析用java还是Python
2020/07/06 Python
python模拟点击在ios中实现的实例讲解
2020/11/26 Python
HTML5 文件上传下载的实例代码
2017/07/03 HTML / CSS
澳洲Chemist Direct药房中文网:澳洲大型线上直邮药房
2019/11/04 全球购物
行政助理求职自荐信
2013/10/26 职场文书
党员倡议书
2015/01/19 职场文书
考试后的感想
2015/08/07 职场文书
大学生十八大感想
2015/08/11 职场文书
MongoDB误操作后使用oplog恢复数据
2022/04/11 MongoDB
MSSQL基本语法操作
2022/04/11 SQL Server