加入收藏 | 设为首页 | 会员中心 | 我要投稿 云计算网_泰州站长网 (http://www.0523zz.com/)- 视觉智能、AI应用、CDN、行业物联网、智能数字人!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHP中的闭包详解

发布时间:2022-08-04 16:01:05 所属栏目:PHP教程 来源:互联网
导读:这篇文章主要介绍了PHP中的闭包(匿名函数)浅析,本文给出了一个使用实例和执行效率测试,需要的朋友可以参考下 闭包也叫匿名函数 PHP5.3 引入。 使用方法 需要调整数组元素中的值,代码如下: $data = range(0, 100);//想要每个元素的值都加上.html的后缀 $su
  这篇文章主要介绍了PHP中的闭包(匿名函数)浅析,本文给出了一个使用实例和执行效率测试,需要的朋友可以参考下
 
  闭包也叫匿名函数 PHP5.3 引入。
 
  使用方法
 
  需要调整数组元素中的值,代码如下:
 
  $data = range(0, 100);//想要每个元素的值都加上.html的后缀
  $suffix = '.html';
       return makeSuffix($item, $suffix);
  }, $data);
  需要改变元素的结构,代码如下:
 
  $arr = [
      [
          'id'=>'',
          'name'=>'',
          'create_time'=>'',
      ],
  ];
  $new_data = array_map(function($item) {
      return ['id'=>$item['id'],'name'=>$item['name']];
  }, $arr);
  如果是用foreach还需要在循环里面建立零时变量,把需要的值赋给这个变量
 
  执行效率,代码如下:
 
  foreach ($data as $value) {
      $new[] = makeSuffix($value, $suffix);
  }
   
  //3
  array_map(function($item) use ($suffix) {
      return makeSuffix($item, $suffix);
  }, $data);
  经过5W次执行之后,从结果看1-3,大部分情况执行时间依次升高,其中一次执行结果时间如下,代码如下:
 
  1:0.0260009765625
 
  2:0.038002014160156
 
  3:0.047003030776978
 
  结论
 
  闭包的代码相对优雅,但是逻辑比较容易混淆,相比其他方式执行效率相对较低,要慎用。建议在代码结构比较乱,需要封装的时候使用。
 
  希望此文能帮到未曾使用或者对 PHP 的闭包有疑问的同学,同时如果有不对的地方欢迎支出。

(编辑:云计算网_泰州站长网)

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

    热点阅读