3

私はワードプレスウィジェットプラグインを書いています。次のような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>

リンクとタイトルを 2 つの配列から出力するために 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 に速度の違いがあるため、出力バッファーとエコーの使用に速度の違いがあるのではないかと考えていました。

また、どちらが使いやすいですか?

4

1 に答える 1

3

もちろんあります。ではecho、出力ストリームにダンプしています。を使用ob_startすると、後で処理する必要があるバッファを作成しています (ob_start出力ストリームにダンプされる前に へのオプションの引数)。

2番目は基本的に「何かをして、最初のものとまったく同じことをする」ので、遅くなることは明らかです。

ただし、正しく使用すれば、利点が欠点をはるかに上回る可能性があります。

于 2012-07-06T19:45:07.713 に答える