2

私はこの方法を実際よりも複雑にしていると確信しています...

私は値の配列を持っています、それらが今のところ数字であるとだけ言いましょう。1ページに3列で表示したい。そこで、各列に1つずつ、合計3つのループを作成しました。最初のループは、インデックス0から開始して3番目の値ごとにループします。2番目のループはインデックス1から開始し、3番目ごとに実行する必要があります。そして、3番目のループはインデックス2から始まり、3分の1ごとにループする必要があります。

これは私が書いたものであり、配列に3つしかない場合に機能するようであり、非常に複雑であると確信しています。

ありがとう

 <div class="span4 column">
        <?php for ($i = 0; $i <= count($articles_for_board)/3; $i = $i+2):?>
            stuff in here
            </div>
        <?php endfor; ?>
    </div>
    <div class="span4 column">
        <?php for ($i = 1; $i <= (count($all_boards)/3)+1; $i = $i+2):?>
            stuff in here
            </div>
        <?php endfor; ?>
    </div>
    <div class="span4 column">
        <?php for ($i = 2; $i <= (count($all_boards)/3)+2; $i = $i+2):?>
            stuff in here
            </div>
        <?php endfor; ?>
    </div>

したがって、基本的に、最初の列は配列インデックス0、3、6を保持します... 2番目の列は1、4を保持します。など3番目の列は2、5、8を保持します...

ありがとう

4

1 に答える 1

4

forループを使用すると、境界チェックのすべてについてそれほど心配する必要はありません。それはあなたが思っているよりもずっと簡単です:

for ($i = 0; $i < count($all_boards); $i += 3)

このループは、反復ごとに3ずつ増分します。つまり、3つおきのメンバーを取得し、の長さを超えるとすぐに停止し$all_boardsます。

于 2012-08-21T01:29:04.337 に答える