如何在Php中循环一个数组,一次获取3个项目?

如何在Php中循环一个数组,一次获取3个项目?,php,algorithm,Php,Algorithm,我想在Php中循环一个数组,一次得到3个项目,例如,如果一个数组包含以下数字:[1,2,3,4,5,6,7,8,9,10,11] 然后我希望能够循环遍历它,一次得到3个,但是如果列表没有均匀地分成3个,那么就得到剩下的 在这个例子中,我想要(1,2,3),(4,5,6),(7,8,9),(10,11)。最简单的方法是什么?到目前为止,我只从阵列中一次获取一个项目: for ($w = 0; $w < count($decoded_photos); $w++) {

我想在Php中循环一个数组,一次得到3个项目,例如,如果一个数组包含以下数字:
[1,2,3,4,5,6,7,8,9,10,11]
然后我希望能够循环遍历它,一次得到3个,但是如果列表没有均匀地分成3个,那么就得到剩下的

在这个例子中,我想要(1,2,3),(4,5,6),(7,8,9),(10,11)。最简单的方法是什么?到目前为止,我只从阵列中一次获取一个项目:

            for ($w = 0; $w < count($decoded_photos); $w++) {
                $photo_reference = $decoded_photos[$w]["photo_reference"];
                echo "photo reference " . $photo_reference;    
            }
for($w=0;$w
看起来您正在寻找的正是
数组\u chunk
方法所做的

请看这里:

就你而言:

$array = [1, 2, 3, 4, 5, 6, 7, 8, 9 , 10, 11];
$chunked_array = array_chunk($array, 3);
print_r($chunked_array);
会回来的

Array
(
    [0] => Array
        (
            [0] => 1
            [1] => 2
            [2] => 3
        )

    [1] => Array
        (
            [1] => 4
            [2] => 5
            [3] => 6
        )
   ...
)
拥有分块数组后,您可以循环使用该数组,然后一次输出所有3个键:

foreach ($chunked_array as $key => $value) {
   echo $value[0];
   echo $value[1];
   echo $value[2];
}

这个问题是重复的——因为所有的基本问题都是在数百万个问题和超过10年的答案之后提出的。