PHP:一个大回声(或打印)VS许多小回声(或打印)

vit*_*tto 8 php optimization

我应该echo有一个包含1000行数据的表,我可以将echo所有数据放在一个字符串中,还是echo每次更好一行?

Tob*_*ias 12

根据http://phplens.com/lens/php-book/optimizing-debugging-php.php(参见文章的最后三分之一)你应该使用一个大的echo语句,并使用单引号而不是双引号,所以PHP没有检查字符串中的变量.

简单的支持测试:

$bgn = microtime(true);
for ($i=0; $i<=1000; $i++)
{
  echo $i;
}
echo "\n", round(microtime(true)-$bgn, 4), "\n";
unset($bgn);
$bgn = microtime(true);
$b = '';
for ($i=0; $i<=1000; $i++)
{
  $b.=$i;
}
echo $b;
echo "\n", round(microtime(true)-$bgn, 4), "\n";
?>
Run Code Online (Sandbox Code Playgroud)

首先运行返回0.0022,而第二次运行返回0.0007...但是这是一小组数据,内存使用量非常小.


Ale*_*exV 5

我会逐行回应.这样可以节省内存(在输出内存之前无需加载内存中的所有行).