gpt4 book ai didi

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

转载 作者:可可西里 更新时间:2023-10-31 23:53:39 27 4
gpt4 key购买 nike

我正在修改原作者使用数组构建网页的一些代码:

 $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 $i\n";
}

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 $i\n";
}

echo $output;
?>


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

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

关于php: output[] w/join vs $output .=,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/111282/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com