echo vs variable

时间:2018-03-28 10:14:29

标签: php optimization

假设我$variable持有超过500 kb的信息。

while ($row = mysqli_fetch_assoc($selectFromTable)) 
{
   $variable .= "<p>$row[info]</p>";
}

while ($row = mysqli_fetch_assoc($selectFromTable)) 
{
   echo "<p>$row[info]</p>";
}

明智优化,最好是echo信息,而不是将其保存到variable

我无法决定,因为我无法看到性能上的差异,因为我不知道在监控响应时间时使用什么工具。有什么建议吗?

即使性能差异不足,我还是想了解如何优化编码。

2 个答案:

答案 0 :(得分:3)

您列出的两段代码之间的速度或内存使用量没有显着差异。它们都构建了一个新字符串,其中包含$row['info'] HTML元素中包含的<p>值。

您可以将每个字符串作为单个参数传递给echo

echo "<p>", $row['info'], "</p>";

这可以避免创建新字符串,使用更少的内存并运行得更快(除非您在循环中执行数千次,否则改进速度并不显着)。

了解echo语言构造。

另请注意,$row[info]不正确。正确的方法是$row['info']。这是explained in the documentation为什么。

答案 1 :(得分:0)

您需要对变量执行某些操作,而不是仅在第一个循环中保存一些数据。

对于当前设置,只有可变存储的第一个循环将始终更快,因为使用IO(输入/输出)设备的操作很慢,这意味着回显到屏幕中的打印输出。

但是如果你在变量语句之后添加一个echo,那么只有单个echo的循环显然会更快。