PHP闭包实例解析

yipeiwu_com7年前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)
?>

希望本文所述对大家PHP程序设计的学习有一定的借鉴与帮助作用。

相关文章

PHP插件PHPMailer发送邮件功能

PHP插件PHPMailer发送邮件功能

本文实例为大家分享了ThinkPHP3.2.3发送邮件的具体代码,供大家参考,具体内容如下 首先第一步 :在网上down了一个PHPMailer插件,下载解压后,这里我们只需要用到其中两...

php快速url重写更新版[需php 5.30以上]

对于apache的rewrite模块打开和设置则非本文主题,请见其他文章详解. 这个类只能php 5.30以上的版本才能使用,继承了上一个版本的快速重定向的特点(单独类,全部使用静态调用...

PHP+JS实现的商品秒杀倒计时用法示例

本文实例讲述了PHP+JS实现的商品秒杀倒计时用法。分享给大家供大家参考,具体如下: <?php //php的时间是以秒算。js的时间以毫秒算 date_default...

php strrpos()与strripos()函数

strripos() 函数 定义和用法strripos() 函数查找字符串在另一个字符串中最后一次出现的位置。如果成功,则返回位置,否则返回 false。 语法strrpos(strin...

微信公众号点击菜单即可打开并登录微站的实现方法

微信公众号点击菜单即可打开并登录微站的实现方法

本文实例讲述了微信公众号点击菜单即可打开并登录微站的实现方法。分享给大家供大家参考。具体分析如下: 总体来说,微信公众号点击菜单即可打开并登录微站实现步骤比较复杂,但很多微站在己用上了,...