我正在构建一个混合了php和html的网站,我的静态内容是html,动态/数据库驱动的内容显然是用php回显的。然而我发现自己有时会添加带有php的html标签,这不需要在php中,我只是想知道写作之间是否有效...例如......
<?php
$result = mysql_query("SOME QUERY") or die(mysql_error());
$num_rows = mysql_num_rows($result);
echo "<ul id=\"someid\">";
while ($row = mysql_fetch_array($result)) {
echo "<li>RAR RAR</li>";
}
echo "</ul>";
echo "<div class=\"clearfix\"></div>";
?>
或
<ul id="someid">
<?php
$result = mysql_query("SOME QUERY") or die(mysql_error());
$num_rows = mysql_num_rows($result);
while ($row = mysql_fetch_array($result)) {
echo "<li>RAR RAR</li>";
}
?>
</ul>
<div class="clearfix"></div>
速度有何不同?完全没有?我只是感兴趣。干杯
答案 0 :(得分:2)
一般来说,最好的做法是不要像在两个示例中那样将HTML与PHP混合使用。您想要使用&lt;?php 打开文档,并且永远不要关闭它。相反,可以使用heredoc语法来回显HTML代码。
在绩效方面,没有任何重要的区别。这就像想知道 is_null 是否更快然后 === null - 是的, === 稍微快一些,但没有人关心,因为单身foreach循环对性能的影响要大很多倍。
所以不要担心!以您发现更清洁的方式进行书写,因为这会产生影响。无论回声是否比原始输出更快或更快 - 无关紧要。
答案 1 :(得分:1)
首先 - 你应该停止使用MySQL。它自PHP 5.5起已弃用,不再维护。您有两种选择:MySQLi和PDO。此外,您应该删除or die()
,因为您不希望您的客户(甚至更糟糕的是潜在的黑客)看到错误消息:)
不回显html内容更快,因为如果你这样做,php必须解析更多内容。但差别很小,甚至可能都不显着。