我正在写一个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之间存在速度差异,我想知道使用输出缓冲区和回声之间存在速度差异。
另外,哪一个更好用?
答案 0 :(得分:3)
当然有。使用echo
,您将转储到输出流。使用ob_start
,您将创建一个缓冲区,然后必须将其处理(ob_start
的可选参数,然后再转储到输出流。
由于第二个基本上是“做一些东西,然后做与第一个完全相同的东西”,很明显它会慢一些。
然而,如果使用得当,那么好处远大于缺点。