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 相关文章推荐
使用PHPMYADMIN操作mysql数据库添加新用户和数据库的方法
Apr 02 PHP
解析php中的escape函数
Jun 29 PHP
php对二维数组进行排序的简单实例
Dec 19 PHP
codeigniter实现get分页的方法
Jul 10 PHP
php结合md5实现的加密解密方法
Jan 25 PHP
php制作简单模版引擎
Apr 07 PHP
PHP实现生成模糊图片的方法示例
Dec 21 PHP
PHP微商城开源代码实例
Mar 27 PHP
PHP高并发和大流量解决方案整理
Dec 24 PHP
PHP For循环字母A-Z当超过26个字母时输出AA,AB,AC
Feb 16 PHP
VSCode+PHPstudy配置PHP开发环境的步骤详解
Aug 20 PHP
Docker 安装 PHP并与Nginx的部署实例讲解
Feb 27 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 防止单引号,双引号在接受页面转义
2008/07/10 PHP
php重定向的三种方法分享
2012/02/22 PHP
一个PHP的ZIP压缩类分享
2014/05/04 PHP
windows7下安装php的imagick和imagemagick扩展教程
2014/07/04 PHP
PHPUnit安装及使用示例
2014/10/29 PHP
[原创]PHP正则匹配中英文、数字及下划线的方法【用户名验证】
2017/08/01 PHP
php安装扩展mysqli的实现步骤及报错解决办法
2017/09/23 PHP
jquery.Jwin.js 基于jquery的弹出层插件代码
2012/05/23 Javascript
解决jquery1.9不支持browser对象的问题
2013/11/13 Javascript
javascript实现日期格式转换
2014/12/16 Javascript
JS实现带提示的星级评分效果完整实例
2015/10/30 Javascript
微信小程序 定义全局数据、函数复用、模版等详细介绍
2016/10/27 Javascript
Node.js 实现简单小说爬虫实例
2016/11/18 Javascript
Vue组件全局注册实现警告框的实例详解
2018/06/11 Javascript
Vue 之孙组件向爷组件通信的实现
2019/04/23 Javascript
详解webpack引用jquery(第三方模块)的三种办法
2019/08/21 jQuery
[09:37]DOTA2卡尔工作室 英雄介绍圣堂刺客篇
2013/06/13 DOTA
python抓取并保存html页面时乱码问题的解决方法
2016/07/01 Python
Python中join函数简单代码示例
2018/01/09 Python
Django框架的中的setting.py文件说明详解
2018/10/15 Python
Windows下Python3.6安装第三方模块的方法
2018/11/22 Python
python random从集合中随机选择元素的方法
2019/01/23 Python
python requests抓取one推送文字和图片代码实例
2019/11/04 Python
HTML5的Geolocation地理位置定位API使用教程
2016/05/12 HTML / CSS
微软台湾官方网站:Microsoft台湾
2018/08/15 全球购物
幼儿园保育员责任书
2014/07/22 职场文书
群众路线专项整治工作情况报告
2014/10/28 职场文书
2014年办公室文员工作总结
2014/11/12 职场文书
导师鉴定意见
2015/06/05 职场文书
法制教育讲座心得体会
2016/01/14 职场文书
2016七夕情人节广告语
2016/01/28 职场文书
成人成长感言如何写?
2019/08/16 职场文书
Mysql基础之常见函数
2021/04/22 MySQL
python opencv通过4坐标剪裁图片
2021/06/05 Python
Mysql表数据比较大情况下修改添加字段的方法实例
2022/06/28 MySQL
CentOS7 minimal 最小化安装网络设置过程
2022/12/24 Servers