|
|
|
|
移动端

PHP 5.3闭包语法初探

PHP 5.3将加入闭包语法,也就是匿名函数,允许开发者申明行内函数和在变量中保存。虽然这个语法和JavaScript的闭包相比有点怪异,但是对于PHP语言来说,这是一个良好的补充。

作者:ouspec来源:Javaeye|2009-05-13 14:15

【新品产上线啦】51CTO播客,随时随地,碎片化学习

51CTO推荐:PHP+MySQL视频教程

PHP 5.3 将加入闭包语法,也就是匿名函数,允许开发者申明行内函数和在变量中保存。虽然这个语法和JavaScript的闭包相比有点怪异,但是对于PHP语言来说,这是一个良好的补充。

比如你现在就可以这样使用:

 $closure = function($param) { echo $param; };

 //This one takes value of someVar and "stores" it in the closure's scope even if
 
 //we later change the value of someVar outside it.
     // We assume that $somerVar is defined before this
 
 $closure2 = function($param) use ($someVar) { echo $param . ' ' . $someVar; };

比如在输出HTML中闭包很有用:

function item_list(array $items, $formatter = null) {   
   //create the default formatter   
   if($formatter == null) {   
     $formatter = function($row) {   
       return '﹤p﹥' . $row . '﹤/p﹥';   
     };   
   }   
     
   $html = '﹤h2﹥Listing:﹤/h2﹥';   
   foreach($items as $item) {   
     $html .= $formatter($item);   
   }   
     
   return $html;   
 }  

【编辑推荐】

  1. PHP 5.3新版特性浅析
  2. PHP 5.3.0 RC2 发布 修正多方面BUG
  3. PHP 6预览 新增多项特性及改进
【责任编辑:red7 TEL:(010)68476606】

点赞 0
分享:
大家都在看
猜你喜欢

读 书 +更多

PHP5与MySQL5 Web开发技术详解

本书是目前中文版本第一个真正介绍PHP 5及MySQL 5新增语法与功能的权威宝典! 本书本着精、全、要三宗旨,从理论中延伸,从实践中深入,详...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊