leechael.orgHome

echo()

做了一个小测试, 测试 echo 的性能: 循环 100000 次输出同一个句子。第一个脚本使用每一次循环都调用一次 echo(); 而第二个脚本则是通过修改一个变量,循环结束后输出结果。测试中分别使用了 if, while, do-while 三种循环方式。

第一个脚本的结果在前,第二个脚本的结果在后,单位是秒。

if loop: 5.05437803268 - 0.375290155411
while loop: 5.26496505737 - 0.417444944382
do-while loop: 6.0743200779 - 0.379925966263

试验过程简略记录在 v2ex, 有需要的同学可以 翻墙查看

我的结论是, 尽量避免大量使用 echo()。例如,为了源代码单行代码更短,一般我们都是这般:

echo('Must I write something here?');
echo(' I don\'t know.');
echo('But I need some characters for testing.<br />');

而实际上,从代码的可读性出发,我们可以考虑这般的写法:

$str = '';
$str .= 'Must I write something here?';
$str .= ' I don\'t know.';
$str .= 'But I need some characters for testing.<br />';
echo($str);

此外, 也能看出 if loop 比 do-while loop 更常用,而 do-while loop 只能坐冷板凳的原因,在 do-while loop 的测试中也大致能看出来。

有一点需要提醒的是,注意 do-while 的不同: 先执行, 再判断是否达到跳出循环的条件。