欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

学习 PHP 5.3 的闭包: function() use(&$param)

程序员文章站 2024-02-05 20:17:58
...
  1. function closureCreater(){

  2. $x =1;
  3. return function($fun=null) use(&$x){//按引用传值
  4. echo "
    ".$x++;
  5. $fun and $fun();
  6. };
  7. }
  8. $x = "hello world";

  9. $test = closureCreater();
  10. $test();
  11. $test(function(){ echo "closure test one"; });
  12. $test(function(){ echo "closure test two"; });
  13. $test(function() use($x){ echo "
    ".$x;});
  14. //将函数保存为数组元素
  15. $x = 'outer param.';
  16. $arr = array();
  17. $arr[] = function($str)use($x){ return $str.$x; };
  18. echo $arr[0]('test fun in arr,'); //test fun in arr,outer param.
  19. ?>
复制代码