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

php:output [] w / join vs $output.=

发布时间:2020-12-13 22:13:34 所属栏目:PHP教程 来源:网络整理
导读:我正在修改一些代码,其中原作者通过使用数组构建了一个网页: $output[]=$stuff_from_database; $output[]='more stuff'; // etc echo join('',$output); 任何人都可以想到为什么这样做会更好(反之亦然): $output =$stuff_from_database; $output .='more s
我正在修改一些代码,其中原作者通过使用数组构建了一个网页:

$output[]=$stuff_from_database;
 $output[]='more stuff';
 // etc
 echo join('',$output);

任何人都可以想到为什么这样做会更好(反之亦然):

$output =$stuff_from_database;
 $output .='more stuff';
 // etc
 echo $output;

解决方法

它可能是由一个来自语言的人编写的,其中字符串是不可变的,因此连接是昂贵的. PHP不是其中之一,如以下测试所示.所以第二种方法是性能明智,更好.我能想到使用第一种方法的另一个原因是能够用另一种方法替换数组的某些部分,但这意味着要跟踪未指定的索引.

~$cat join.php
<?php

for ($i=0;$i<50000;$i++) {
$output[] = "HI $in";
}

echo join('',$output);
?>


~$time for i in `seq 100`; do php join.php >> outjoin ; done

real    0m19.145s
user    0m12.045s
sys     0m3.216s

~$cat dot.php
<?php

for ($i=0;$i<50000;$i++) {
$output.= "HI $in";
}

echo $output;
?>


~$time for i in `seq 100`; do php dot.php >> outdot ; done

real    0m15.530s
user    0m8.985s
sys     0m2.260s

(编辑:李大同)

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

    推荐文章
      热点阅读