2012-11-11 43 views
1

可能重複:
php split array into smaller even arraysPHP片陣列分成部分

我如何可以切片陣列爲多個部分?可以說我有此數組:

$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個元素下的數組,這使我很困惑爲什麼以及代碼如何工作真的,它似乎不是對我來說也是atic ..是否有其他方法可以做到這一點或修復代碼?

回答

7

您可以使用,而不是寫你自己的內置功能array_chunk

$chunks = array_chunk($arr, 3);