转载原帖址:http://blog.csdn.net/lgg201/article/details/6127564
scalar}. 
/n;};$obj = (object) hello, everybody;callback($callback);//输出: this is a closure use object, msg is: hello, everybody.
/n//还是按照上面的步骤, 按部就班的来吧://1. obj名字指向hello, everyone对象//2. 闭包产生一个引用指向hello, everyone对象//3. 修改obj名字指向的对象(即hello, everyone对象)的scalar值//4. 执行闭包, 输出的自然是hello, everybody, 因为其实只有一个真正的对象$obj = (object) hello, everyone;$callback = function()use($obj) {printthis is a closure use object, msg is: {$obj->scalar}. 
/n;};$obj->scalar = hello, everybody;callback($callback);//输出: this is a closure use object lazy bind, msg is: hello, everybody.
/n//闭包引用的是什么呢? &$obj, 闭包产生的引用指向$obj这个名字所指向的地址.//因此, 无论obj怎么变化, 都是逃不脱的....//所以, 输出的就是改变后的值$obj = (object) hello, everyone;$callback = function()use(&$obj) {printthis is a closure use object lazy bind, msg is: {$obj->scalar}. 
/n;};$obj = (object) hello, everybody;callback($callback);/** * 一个利用闭包的计数器产生器 * 这里其实借鉴的是python中介绍闭包时的例子... * 我们可以这样考虑: *      1. counter函数每次调用, 创建一个局部变量$counter, 初始化为1. *      2. 然后创建一个闭包, 闭包产生了对局部变量$counter的引用. *      3. 函数counter返回创建的闭包, 并销毁局部变量, 但此时有闭包对$counter的引用,  *          它并不会被回收, 因此, 我们可以这样理解, 被函数counter返回的闭包, 携带了一个游离态的 *          变量. *      4. 由于每次调用counter都会创建独立的$counter和闭包, 因此返回的闭包相互之间是独立的. *      5. 执行被返回的闭包, 对其携带的游离态变量自增并返回, 得到的就是一个计数器. * 结论: 此函数可以用来生成相互独立的计数器. */functioncounter() {$counter = 1;    returnfunction()use(&$counter) {return$counter ++;};}$counter1 = counter();$counter2 = counter();echocounter1:  . $counter1() . 
/n;echocounter1:  . $counter1() . 
/n;echocounter1:  . $counter1() . 
/n;echocounter1:  . $counter1() . 
/n;echocounter2:  . $counter2() . 
/n;echocounter2:  . $counter2() . 
/n;echocounter2:  . $counter2() . 
/n;echocounter2:  . $counter2() . 
/n;?>
').addclass('pre-numbering').hide();                    $(this).addclass('has-numbering').parent().append($numbering);                    for (i = 1; i ').text(i));                    };                    $numbering.fadein(1700);                });            });                                                                            以上就介绍了php 53新增的闭包语法介绍function use {},包括了function方面的内容,希望对php教程有兴趣的朋友有所帮助。
   
 
   