当前位置:  开发笔记 > 编程语言 > 正文

使用ob_get_contents()或$ text.='test'是否更好?

如何解决《使用ob_get_contents()或$text.='test'是否更好?》经验,为你挑选了2个好方法。

ob_get_clean()最后一次看到了很多.通常我已经完成了$test .= 'test'

我想知道一个人是否比另一个更快和/或更好.

以下代码使用ob_get_clean():

ob_start();

foreach($items as $item) {
    echo '
' . $item . '
'; } $test = ob_get_clean();

以下代码使用$test .= 'test':

$test = '';

foreach($items as $item) {
    $test .= '
' . $item . '
'; }

哪个更好?



1> Eran Galperi..:

结果是一样的,我认为性能差异可以忽略不计.基本上,个人风格偏好的问题.我会自己连接 - 只有当连接不是一个选项时才使用输出缓冲.

此外,不是同时运行ob_get_contents()和ob_clean(),而是运行ob_get_clean(),它同时执行两个操作.



2> Preston..:

输出缓冲区具有全局变量的所有缺陷.您必须知道从ob_start()到的所有执行路径ob_get_clean().你确定它会到达那里,并且之间打开的任何缓冲区都将被关闭吗?请记住,代码可能会抛出异常.对于下一个追踪​​的人来说,这可能是一个非常有趣的错误.

另一方面 - 我讨厌甚至提及它 - 由于PHP的内部原因,输出缓冲在连接大字符串时有点快.我不确定这是否仍然是真的.

推荐阅读
135369一生真爱_890
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有