0

我正在构建一个混合了 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>

速度有区别吗?一点都不?我只是感兴趣。干杯

4

2 回答 2

2

一般来说,最好的做法是不要像在两个示例中那样将 HTML 与 PHP 混合使用。你想用它打开文档,<?php从不关闭它。回显 HTML 代码,可能使用heredoc语法。

在性能方面,没有任何重要的区别。这就像想知道是否is_null更快===null- 是的,===稍微快一点,但没人关心,因为单个 foreach 循环对性能的影响可能比这大很多倍。

所以别担心!以您觉得容易阅读的方式编写它,因为这会有所不同。无论回声是否比原始输出更快 - 都没有关系。

于 2013-02-01T13:15:23.807 回答
1

首先——你应该停止使用 MySQL。自 PHP 5.5 起已弃用,不再维护。您有 2 个选择:MySQLi 和 PDO。此外,您应该删除or die(),因为您不希望您的客户(甚至更糟 - 潜在的黑客)看到错误消息 :)

不回显 html 内容会更快,因为如果这样做,php 将不得不解析更多内容。不过,差异非常小,可能甚至不明显。

还有另一个问题在讨论这个问题:Escape HTML to PHP or Use Echo? 哪个更好?

于 2013-02-01T13:12:03.447 回答