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 ignore_user_abort与register_shutdown_function 使用方法
Jun 14 PHP
PHP has encountered an Access Violation at 7C94BD02解决方法
Aug 24 PHP
flash用php连接数据库的代码
Apr 21 PHP
php小型企业库存管理系统的设计与实现代码
May 16 PHP
ThinkPHP自动验证失败的解决方法
Jun 09 PHP
php 获取本地IP代码
Jun 23 PHP
WordPress用户登录框密码的隐藏与部分显示技巧
Dec 31 PHP
WordPress开发中的get_post_custom()函数使用解析
Jan 04 PHP
thinkPHP简单实现多个子查询语句的方法
Dec 05 PHP
PHP脚本自动识别验证码查询汽车违章
Dec 20 PHP
PHP copy函数使用案例代码解析
Sep 01 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数据库操作方法(MYSQL版)
2011/06/08 PHP
如何判断php数组的维度
2013/06/10 PHP
[原创]PHP实现字节数Byte转换为KB、MB、GB、TB的方法
2017/08/31 PHP
php使用curl下载指定大小的文件实例代码
2017/09/30 PHP
PHP面向对象程序设计内置标准类,普通数据类型转为对象类型示例
2019/06/12 PHP
Laravel 数据库加密及数据库表前缀配置方法
2019/10/10 PHP
JavaScript静态的动态
2006/09/18 Javascript
javascript学习基础笔记之DOM对象操作
2011/11/03 Javascript
js操作iframe兼容各种主流浏览器示例代码
2013/07/22 Javascript
jquery indexOf使用方法
2013/08/19 Javascript
jquery实现翻动fadeIn显示的方法
2015/03/05 Javascript
jquery简单的弹出层浮动层代码
2015/04/27 Javascript
关于javascript中限定时间内防止按钮重复点击的思路详解
2016/08/16 Javascript
JS中如何实现复选框全选功能
2016/12/19 Javascript
微信小程序 数组(增,删,改,查)等操作实例详解
2017/01/05 Javascript
JS生成随机打乱数组的方法示例
2017/12/23 Javascript
angular.js和vue.js中实现函数去抖示例(debounce)
2018/01/18 Javascript
axios全局请求参数设置,请求及返回拦截器的方法
2018/03/05 Javascript
解决Vue+Element ui开发中碰到的IE问题
2018/09/03 Javascript
VUE和Antv G6实现在线拓扑图编辑操作
2020/10/28 Javascript
Python科学计算之NumPy入门教程
2017/01/15 Python
Python数据分析库pandas基本操作方法
2018/04/08 Python
pygame游戏之旅 计算游戏中躲过的障碍数量
2018/11/20 Python
对Python中创建进程的两种方式以及进程池详解
2019/01/14 Python
Python通过kerberos安全认证操作kafka方式
2020/06/06 Python
HTML5离线缓存在tomcat下部署可实现图片flash等离线浏览
2012/12/13 HTML / CSS
学生党员思想汇报
2013/12/28 职场文书
工会主席岗位责任制
2014/02/11 职场文书
上班看电影检讨书
2014/02/12 职场文书
素质教育标语
2014/06/27 职场文书
详解PHP Swoole与TCP三次握手
2021/05/27 PHP
十大最强火系宝可梦,喷火龙上榜,第一名有双火属性
2022/03/18 日漫
Python Matplotlib绘制等高线图与渐变色扇形图
2022/04/14 Python
Python何绘制带有背景色块的折线图
2022/04/23 Python
Oracle用户管理及赋权
2022/04/24 Oracle
本地搭建minio文件服务器(使用bat脚本启动)的方法
2022/07/15 Servers