内容 |
通常来说,闭包也就是PHP的匿名函数, 但是和函数不同的是,闭包可以通过use使用函数声明时所在作用域的变量的值。 具体形式如下: 1$a = function($arg1, $arg2) use ($variable) { 2// 声明函数闭包到变量$a, 参数为$arg1, $arg2 ,该闭包需使用$variable变量 3} 具体用法实例如下: 01<?php 02$result = 0; 03 04$one = function() 05{ var_dump($result); }; 06 07$two = function() use ($result) 08{ var_dump($result); }; // 可以认为 $two这个变量 本身记录了该函数的声明以及use使用的变量的值 09 10$three = function() use (&$result) 11{ var_dump($result); }; 12 13$result++; 14 15$one(); // outputs NULL: $result is not in scope 16$two(); // outputs int(0): $result was copied 17$three(); // outputs int(1) 18?> |