0

我的数组包含动态数量的元素。它们被分组为 4. 所以

array
 [0] -> "group one"
 [1] -> "group one"
 [2] -> "group one"
 [3] -> "group one"

 [4] -> "group two"
 [5] -> "group two"
 [6] -> "group two"
 [7] -> "group two"

 [8] -> "group three"
 [9] -> "group three"
 [10] -> "group three"
 [11] -> "group three"

我想要做的是在一个循环中输出并测试每个组中的所有元素,添加然后对下一组执行相同的操作。

我怀疑这应该很容易..使用计数器来跟踪有多少输出等,但显然我的大脑无法在这个问题上正常工作:)

感谢任何打扰我的人:)

4

2 回答 2

1

看看array_chunk

<?php
foreach(array_chunk(range(1, 12), 4) as $index => $chunk) {
    echo "Printing Chunk $index\n";
    foreach($chunk as $number) {
        echo "$number\n";
    }
}

/*
    Printing Chunk 0
    1
    2
    3
    4
    Printing Chunk 1
    5
    6
    7
    8
    Printing Chunk 2
    9
    10
    11
    12
*/

安东尼。

于 2013-05-12T11:58:08.137 回答
0
<?php

$length = count($array);

// the first element of each group is indexed by $i
// so the second element can be accessed by $i + 1, the third by $i + 2, ...
for($i = 0; $i < $length; $i += 4)
{
    echo "1. element: " . $array[$i];
    echo "2. element: " . $array[$i+1];
    echo "3. element: " . $array[$i+2];
    echo "4. element: " . $array[$i+3];

    // do something
}

?>
于 2013-05-12T12:01:23.493 回答