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>'; 你想做得更好吗?只需构建自己的字符串构建器对象(但老实说,增益非常小,您应该认真考虑是否值得付出努力). (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |