本文实例分析了 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)
- ?>
来源: https://www.php1.cn/detail/php-9d3c552d1f.html