PHP 5.3闭包语法初探

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

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预览 新增多项特性及改进
责任编辑:佚名 来源: Javaeye
相关推荐

2009-11-23 14:17:50

PHP 5.3闭包语法

2013-05-02 09:44:57

PHP闭包

2009-10-26 09:41:26

PHP5.3闭包特性

2023-09-11 08:20:17

对象闭包底层

2024-01-22 09:51:32

Swift闭包表达式尾随闭包

2009-03-23 10:53:00

PHP5.3新特性PHP5.3PHP5

2010-06-17 10:22:47

PHP

2021-02-21 16:21:19

JavaScript闭包前端

2016-10-27 19:26:47

Javascript闭包

2019-11-07 21:51:18

闭包前端函数

2009-07-22 07:43:00

Scala闭包

2011-05-25 14:48:33

Javascript闭包

2020-10-14 15:15:28

JavaScript(

2023-11-02 08:53:26

闭包Python

2022-10-24 08:08:27

闭包编译器

2016-09-14 09:20:05

JavaScript闭包Web

2009-07-24 17:30:37

Javascript闭

2017-09-14 13:55:57

JavaScript

2014-12-23 14:36:32

PHP

2011-02-15 09:23:55

PHPPhpStorm
点赞
收藏

51CTO技术栈公众号