1

次のwhileループでは、各divアイテムが。でラップされていliます。

<php while (condition){
    <li><div>Item</div></li>
<?php } ?>

上記のループでは、2つのdivアイテムをでラップしてli、同様の出力を取得できるようにします。

<li>
    <div>Item</div>
    <div>Item</div>
</li>

<li>
    <div>Item</div>
    <div>Item</div>
</li>

 <li>
    <div>Item</div>
</li>

だから、私はこれを試していますが、これは1つのdivをli内にラップし、他のdivをliなしで残します。

<?php 
    while (condition){
    $i++;
    if($i % 2 == 0) { echo "<li>"; }
    ?>
        <div>Item</div>
<?php 
    if($i % 2 == 0) { echo "</li>"; }
     } //end loop 
?>
4

2 に答える 2

2

これらの場合の一般的な考え方は次のとおりです。

  1. 各反復で、次の場合は新しいグループを開きます$i % $itemsPerGroup == 0
  2. アイテムを印刷する
  3. ループする前に、次の場合は現在のグループを閉じます++$i % $itemsPerGroup == 0
  4. 反復が終了すると、最後の開いているグループを閉じます。$i % $itemsPerGroup != 0

それで:

$i = 0;
while (condition){
   if($i % 2 == 0) { echo "<li>"; } // #1
   echo "<div>Item</div>"; // #2
   if(++$i % 2 == 0) { echo "</li>"; } // #3
}

if ($i % 2 != 0) { echo "</li>"; } // #4
于 2012-11-06T12:31:24.093 に答える
1

それはもっと次のようになります:

<?php
    $i = 1;
    while ($i < 10){
    $i++;
    if($i % 2 == 0) { echo "<li>"; }
    ?>
        <div>Item</div>
<?php 
    if($i % 2 == 1) { echo "</li>"; }
     } //end loop 
?>
于 2012-11-06T12:31:24.253 に答える