PHP闭包研究

本文介绍了PHP中的闭包概念,展示了如何使用闭包访问外部作用域中的变量,并通过示例代码说明了不同引用方式对变量的影响。

闭包也就是PHP的匿名函数, 但是和函数不同的是,闭包可以通过use使用函数声明时所在作用域的变量的值。

形式如下

$a = function($arg1, $arg2) use ($variable) { 

// 声明函数闭包到变量$a, 参数为$arg1, $arg2 ,该闭包需使用$variable变量 }

 

例如

<?php
$result = 0;
 
$one = function()
{ var_dump($result); };
 
$two = function() use ($result)
{ var_dump($result); }; // 可以认为 $two这个变量 本身记录了该函数的声明以及use使用的变量的值
 
$three = function() use (&$result)
{ var_dump($result); };
 
$result++;
 
$one();    // outputs NULL: $result is not in scope
$two();    // outputs int(0): $result was copied
$three();    // outputs int(1)

 

顺便贴一个不错的应用贴

http://www.cnblogs.com/yjf512/archive/2012/10/29/2744702.html

 

转载于:https://www.cnblogs.com/sailrancho/p/3382942.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值