在性能方面什么更有效(以及为什么)?
$s = "<div>";
for($i = 0; $i < 10; $i++)
$s.= "<p>".$i."</p>";
$s.= "</div>";
echo $s;
或
<div>
<?php for($i = 0; $i < 10; $i++) { ?>
<p> <?php echo $i; ?> </p>
<?php } ?>
</div>
就像绕世界跑一圈和绕世界跑一米没有区别一样,这是没有区别的。
在性能上可能没有区别,但是这样你的代码可能更容易读,特别是如果你要使用任何其他循环或条件。
<div>
<?php for($i = 0; $i < 10; $i++): ?>
<p> <?php echo $i; ?> </p>
<?php endfor; ?>
</div>
第二个选项看起来更干净,应该更有效,因为它做的工作比另一个少:当"<div>"
足够时,为什么要使用<?php echo "<div>"; ?>
" ?
但是,老实说,性能上的差异很小,几乎无关紧要。
如果这是Javascript,由于DOM操作行为,第二个示例的运行速度将提高50倍,但是由于这是服务器端,除了第一个示例的额外计算开销外,没有什么区别。
既然答案已经给出,并且有关于可读性的评论,这就是我对可读性的回答,icya:
<?php
$s = "";
for ($i = 0; $i < 10; $i++)
$s .= "<p>" . $i . "</p>";
$html = <<<HTML
<html>
<body>
<div>$s</div>
</body>
</html>
HTML;
echo $html;