加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHP:哪个更有效:一个连续的返回变量,或者单独返回每一行?

发布时间:2020-12-13 17:49:14 所属栏目:PHP教程 来源:网络整理
导读:我有一个系统,我想用数据库中检索的数据在 PHP中构建一个HTML表. 我之前使用过两种不同的方法来创建HTML并回显它. 构建一个返回变量,并在PHP脚本的末尾回显: ?php$data['category']['parts']; // format of the data$retval = 'table';foreach($data as $ca
我有一个系统,我想用数据库中检索的数据在 PHP中构建一个HTML表.

我之前使用过两种不同的方法来创建HTML并回显它.

构建一个返回变量,并在PHP脚本的末尾回显:

<?php
$data['category']['parts']; // format of the data

$retval = '<table>';
foreach($data as $category) {
  $retval .= '<tr>';
  foreach($category as $data) {
    $retval .= '<td>'.$data.'</td>'
  }
  $retval .= '</tr>';
}
$retval .= '</table>';

echo $retval;

另一种方法是在代码到达时回显每一行:

<?php
$data['category']['parts']; // format of the data

echo '<table>';
foreach($data as $category) {
  echo '<tr>';
  foreach($category as $data) {
    echo '<td>'.$data.'</td>'
  }
  echo '</tr>';
}
echo '</table>';

在处理器/内存使用方面以及处理速度方面,这两种方法中哪一种更有效?
实际上是否存在真正的差异,而不仅仅是风格问题?

解决方法

我的镜头是:无论你发现什么更具可读性.对性能的影响非常小,可能你不会看到任何差异.

但是,如果你真的关心,echo应该更快(没有比你特定场景下的性能测试更好)因为字符串连接会多次调整retval的大小(这会影响性能).

更好的是你应该避免在你的回声中连接:

<?php
$data['category']['parts']; // format of the data

echo '<table>';
foreach($data as $category) {
  echo '<tr>';
  foreach($category as $data) {
    echo '<td>',$data,'</td>';
  }
  echo '</tr>';
}
echo '</table>';

你想做得更好吗?只需构建自己的字符串构建器对象(但老实说,增益非常小,您应该认真考虑是否值得付出努力).

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读