2011-03-31 49 views
0

目前我有一组数据[0] - [574]。(PHP)将数组分离为多维

我想这样做被分割下来成多维阵列中25份,即[0] - [22],如下:

Array 
(
    [0] => 
     [0] => abc 
     ... 
     [22] => xyz 
    [1] => 
     [0] => abc 
     ... 
     [22] => xyz 
    ... 
} 

我假定它可以通过使用一个for循环来完成把它全部分开 - 我已经尝试了几种方法,但还没有完成。

感谢

-mango

回答

7

没有为that内置功能:

$parts = array_chunk($array, 23); 
+0

哈哈,甚至不在乎找:) +1 – jensgram 2011-03-31 10:28:23

1

我刚刚used虚拟数据,但你得到的想法:

// Set up input with dummy data 
$input = array(); 
for ($i = 0; $i < 574; $i++) { 
     $input[] = $i . 'aaa'; 
} 

$out = array(); 
for ($i = 0, $j = sizeof($input); $i < $j; $i++) { 
     $bucket = floor($i/($j/25)); 
     if (!isset($out[$bucket])) { 
       $out[$bucket] = array(); 
     } 
     $out[$bucket][] = $input[$i]; 
} 

print_r($out); 
1
$array = array(); 
$chunks = ceil(count($array)/25); 
$new = array_chunk($array, $chunks);