php 一位数组按照N个元素一组分成二维数组

By | 2020年11月27日

问题描述:

如有一个以为数组:$arr=[‘a’,’b’,’c’,’d’,’e’,’f’,’g’];

需要将其按照三个元素一组分割成二维数组,如:

array(3) {
  [0] => array(3) {
    [0] => string(1) "a"
    [1] => string(1) "b"
    [2] => string(1) "c"
  }
  [1] => array(3) {
    [0] => string(1) "d"
    [1] => string(1) "e"
    [2] => string(1) "f"
  }
  [2] => array(1) {
    [0] => string(1) "g"
  }
}

实现方法:

$arr=['a','b','c','d','e','f','g'];
$tarr=[];
$index=0;
foreach ($arr as $key => $value) {
  if(count($tarr[$index])<3){
      $tarr[$index][]=$value;
  }else{
      ++$index;
      $tarr[$index][]=$value;
  }
}
var_dump($tarr);