编程语言
首页 > 编程语言> > php-速度更快:输出缓冲区或回显

php-速度更快:输出缓冲区或回显

作者:互联网

我正在写一个wordpress小部件插件.它应该输出一些看起来像这样的html代码

<a href="link1">link1title</a>
<a href="link2">link2title</a>
<a href="link3">link3title</a>
<a href="link4">link4title</a>
<a href="link5">link5title</a>

我正在运行一个for循环,以输出2个数组中的链接和标题,并且可以用两种不同的方式来做到这一点:

<?php for ($i = 0; $i < $x; $i++)
    echo '<a href="'.$links[$i].'">'.$titles[$i].'</a>';
?>

或者,我可以使用类似以下的内容:

<?php ob_start();
for ($i = 0; $i < $x; $i++) {?>
    <a href="<?php echo $links[$i];?>"><?php echo $titles[$i];?></a>
<?php ob_get_flush();?>

这个例子很简单.有更多的html代码,涉及更多的变量.
由于在c / c中printf和cout之间存在速度差异,我想知道在使用输出缓冲区和echo之间是否存在速度差异.

另外,哪个更好用?

解决方法:

当然有.使用echo,您将转储到输出流.使用ob_start,您正在创建一个缓冲区,然后必须对其进行处理(ob_start的可选参数,然后将其转储到输出流.

由于第二个基本上是“先做些事情,然后再做与第一个完全相同的事情”,因此很明显它将变慢.

但是,如果使用得当,那么带来的好处将远大于缺点.

标签:output-buffering,php,echo
来源: https://codeday.me/bug/20191201/2078229.html