加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHP中的闭包(匿名函数)浅析

发布时间:2020-12-12 20:40:32 所属栏目:PHP教程 来源:网络整理
导读:闭包也叫匿名函数 PHP5.3 引入。 使用方法 需要调整数组元素中的值 代码如下: function makeSuffix($str,$suffix){ return $str . $suffix;} $new_data = array_map(function($item) use ($suffix) { return makeSuffix($item,$suffix);},$data); 需要改变元

闭包也叫匿名函数 PHP5.3 引入。

使用方法

需要调整数组元素中的值

代码如下:

function makeSuffix($str,$suffix) { return $str . $suffix; }

$new_data = array_map(function($item) use ($suffix) { return makeSuffix($item,$suffix); },$data);

需要改变元素的结构

代码如下:
'', 'name'=>'', 'create_time'=>'', ], ];

$new_data = array_map(function($item) { return ['id'=>$item['id'],'name'=>$item['name']]; },$arr); //如果是用foreach还需要在循环里面建立零时变量,把需要的值赋给这个变量

执行效率

代码如下:

//2 foreach ($data as $value) { $new[] = makeSuffix($value,$suffix); }

//3 array_map(function($item) use ($suffix) { return makeSuffix($item,$data);

经过5W次执行之后,从结果看1-3,大部分情况执行时间依次升高,其中一次执行结果时间如下
代码如下:

结论

闭包的代码相对优雅,但是逻辑比较容易混淆,相比其他方式执行效率相对较低,要慎用。建议在代码结构比较乱,需要封装的时候使用。

希望此文能帮到未曾使用或者对 PHP 的闭包有疑问的同学,同时如果有不对的地方欢迎支出。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读