2

次のように 3 行でデータを表示しようとしています (アイテムの数が常に偶数であるとは限らないことに注意してください)。

abcd defg ハイク
lmno pqrs tuvw
xyz1 2345 6789
1011 1213

これを行うためのロジックを正しくするのに苦労しています(これはforeach()ループ中です)。

私はそこにいくつかのロジックを持たなければならないことを知っていif($i %3 == 0)ます..しかし、私は少し立ち往生しています。

誰でも私を助けることができますか?

4

3 に答える 3

4
$a = array('abcd','defg','hijk','lmno');
for ($i = 0; $i < count($a); $i++) {
  if ($i && $i % 3 == 0)
    echo '<br />';
  echo $a[$i].' ';
}
于 2010-11-23T03:06:19.643 に答える
1

for次のようにループを使用することをお勧めします。

// run $i for each index in the array.
for($i=0 ; $i<count($arr) ; $i++) {

        // if $i is non-zero and is divisible by 3 print a line break.
        if ($i && $i % 3 == 0) {
                echo "<br />";
        }

        // print the element at index $i.
        echo $arr[$i].'&nbsp;';
}

実際のコード

于 2010-11-23T03:07:56.103 に答える
0

私はPHPを知らないので疑似コードです(そして、あなたはすべての手続き型言語で同じになる傾向があるロジックを求めました):

perline = 3
i = 0
foreach item in list:
    if i > 0 and (i % perline) == 0:
        print newline
    if (i % perline) != 0:
        print space
    print item
    i = i + 1

これにより、要素 3、6、9 など (最初の要素は 0) の前に行区切りが出力され、各行の 2 番目3 番目の要素の前に必要なスペースが配置されます。perline各行の数値出力を変更するには、別の値を使用するだけです。

于 2010-11-23T03:06:20.040 に答える