0

原理はテーブルのゼブラストライプに似ていますが、まったく同じではないため、解決策を見つけるのに苦労しました/これを行う方法を考えています.

行ごとの列数を交互にしようとしています。すべての奇数行には 4 つの列があり、すべての偶数行には 3 つの列があります。

クエリが 11 件のレコードを返す場合、次のことを行います。

  1. 最初の 4 つを 1 行 4 列に出力する
  2. 次の 3 つを 1 行 3 列に
  3. 最後の 4 つを 1 行 4 列に

私の目標を説明するために、サンプル配列とマークアップを phpfiddle に投稿しました: http://phpfiddle.org/main/code/h9r-hj1

どんな助けでも大歓迎です!

4

2 に答える 2

0

テストされていないコードですが、アイデアが得られるはずです:

for ( $c=0 ,  $cnt=count($array) ,  $m=4 ; $c<$cnt ; )  // used like a while()
{
    echo '<div class="', ($m==4 ? 'four' : 'three' ) ,'-up">';
    for ( $cm=$cnt+$m ; $c<$cm ; ++$c)
    {
      // output row 
    }
    unset($cm);
    echo '</div>';
    $m = ( $m == 4 ? 3 : 4 );
}
unset($c, $m , $cnt);
于 2013-12-05T20:00:51.250 に答える