本帖最后由 baidu_25468825 于 2015-02-02 03:01:59 编辑

解决方案 »

  1.   

    用什么不理解的?
    既然你 use(&$counter) 那当然是要知道这么做的后果的,因为那个 & ,规则就发生了变化既然是引用,就是两个及以上变量指向同一数据区,删除一个,其他的还在
      

  2.   

    js的闭包挺流行,但貌似php很少...
    匿名函数赋给$a后,等价于诞生了一个全局函数,但这不是重点...
    use中的$counter如果只是拷贝调用,在$a = $counter();的赋值过后,内存也就释放了
    偏偏是指针...所以那块内存在这个匿名函数中留了下来
    此时匿名函数中的$counter只属于$a,如果你再令$b = counter();,会有另一个独立的$counter