首页 > 解决方案 > 我想按顺序从数组中获取元素:三、四、三、四等

问题描述

我想从这样的数组中获取元素:获取前三个元素,然后是四个元素,然后是三个元素,然后是四个,依此类推。

例如:

0 1 2 

3 4 5 6

7 8 9

10 11 12 13

and so on....

我试过这样的事情:

foreach($items as $key => $item) {
    if($key <= 2) {
      echo 'test';
    }

    if($key > 2 && $key < 6) {
      echo 'other test';                            
    }

    if($key > 6 && $key < 9) {
      echo 'test';                            
    }  
}

但是,我不想像这样使用if(),因为我不知道数组中有多少项:它来自数据库。

我想,我需要类似的东西,array_chunk($items, 3)但对于尺寸参数,我需要循环中的 3 和 4

标签: phparrayslaravelloops

解决方案


可能是这样,您可以制作另一个数组,指定每次迭代中所需的元素数量。

<?php

$number_of_elements = [3,4,3,4];

$your_array = ['a', 'b','c','d','e'];

foreach($number_of_elements as $number){

for($i = 0; $i<=$number; $i++){

    $result = $your_array[$i];
    print_r($result);
} 

print_r('<br>');

}

推荐阅读