1

この質問は、コハナフレームワークについてです。初めてです。

使用しforeach()てデータを表示したい。すべて問題ありませんが、そのデータを4つのアイテムを続けてグループ化して、次のようにします。

1st 2nd 3rd 4th
5th 6th 7th 8th
9th 10th 11th 12th
....

<div>そのため、4回ごとに追加する必要があります。

どうやって作るの?単純なカウンターを使用して、そのmodがゼロかどうかを確認しますか?foreach()内の現在の$ itemが最初、2番目、またはn番目の...アイテムであるかどうかを確認するための特別なKohana関数はありますか?

<?foreach ($items as $item): ?>
//add <div> tag for 1st, 4th, 7th, etc item

//do something

//add closing </div> tag for 1st, 4th, 7th, etc item
<? endforeach; ?>
4

1 に答える 1

2

foreachを介して配列キーを指定する構造を使用して、オープンを閉じるかどうか(または場合によっては)$key => $itemをテストできます。$key % 4 == 0$key % 4 == 3<div>

// Initial opening div..
<div>
<?foreach ($items as $key => $item): ?>
 <?=$item ?>
 <? if ($key % 4 == 3): ?>
... Close the open div and open a new one
</div>
<div>
<? endif; ?>
<? endforeach; ?>
</div>

テンプレート構文は私の目を傷つけます。適切なPHPは次のとおりです。

echo '<div>';
foreach ($items as $key => $item) {
  echo $item;

  if ($key % 4 == 3) {
    echo '</div><div>';
  }
}
echo '</div>';

次の入力が与えられます:

$items = array('a','b','c','d','e','f','g','h','i','j','k');
// Output:
<div>abcd</div><div>efgh</div><div>ijk</div>
于 2012-08-13T15:47:38.333 に答える