PHP切片数组成部分

时间:2012-11-11 21:25:59

标签: php arrays slice

  

可能重复:
  php split array into smaller even arrays

如何将数组切成多个部分?让我们说我有这个数组:

$arr = range(1, 15);

我怎样才能得到这个结果:

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

    [1] => Array
        (
            [0] => 4
            [1] => 5
            [2] => 6
        )

    [2] => Array
       ............
)

到目前为止我尝试过:

$parts = 3;
$slices = array();

for($i=0; $i<($parts * $parts); $i=$i+$parts){
  $sliced = array_slice($arr, $i, (count($arr) / $parts));
  array_push($slices, $sliced);
}

它似乎工作得很好只有10个元素下的数组让我对这个代码为什么以及如何真正起作用感到困惑,这对我来说似乎并不是静态的..有没有其他方法或代码修复?

1 个答案:

答案 0 :(得分:7)

您可以使用内置函数array_chunk而不是编写自己的函数:

$chunks = array_chunk($arr, 3);