【问题标题】:PHP code optimization technique during echo statementecho 语句期间的 PHP 代码优化技巧
【发布时间】:2016-04-25 00:24:05
【问题描述】:

我正在从头开始编写一个 php 网站。 我很困惑以下两个代码在服务器负载和执行速度方面是完全相同还是不同。

代码 1:

<ul>
<?php
    $i =0; 
    while($i < 10){
        echo '<li>'.$row['database_data'].'</li>';
        $i++;
    }
?>
</ul>

代码 2:

<ul>
<?php
$i =0; 
while($i < 10)
{ ?>
<li><?php echo $row['database_data'];?></li>
<?php
$i++;
}
?>
</ul>

【问题讨论】:

  • 如果不进行测试,我不知道这两种方法之间的性能差异,但第二种方法会使代码更难阅读和维护。
  • 在这种情况下,性能差异可以忽略不计。
  • 另外,这看起来很像过早优化
  • 它们在“速度”方面没有什么不同。 “速度”不取决于 PHP 的执行,而是取决于您传输的数据量以及浏览器渲染它的速度。此外,两个 sn-ps 的读取、维护和写入都同样难看。

标签: php


【解决方案1】:

编辑:@pemap modder 链接到的线程似乎有正确的答案,手册指出:

对于输出大块文本,退出 PHP 解析模式通常比通过 echo 或 print 发送所有文本更有效。

http://www.php.net/manual/en/language.basic-syntax.phpmode.php

我的快速测试中的第一个更快。

  • 第一个版本输出:耗时:0.14 秒
  • 第二版输出:耗时:0.17 秒

我认为这是因为您不会经常跳入/跳出 PHP,根据我所学的内容,这是解决此问题的最佳方法。如果内存服务不断地从 PHP 跳转到 HTML 并返回会减慢解释器的速度,尽管如果不进行更多研究,我无法完全确认这一点。

【讨论】:

    猜你喜欢
    • 2012-08-30
    • 1970-01-01
    • 1970-01-01
    • 2010-11-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-30
    • 1970-01-01
    相关资源
    最近更新 更多