需要划分/管理阵列

时间:2014-05-06 11:45:49

标签: php arrays divide

无论数组的长度如何,我都需要将二维数组更改为三维数组:

我有以下内容:

array(89) { 
    [0]=> array(5) { [0]=>"aaa" [1]=>"bbb"[2]=>"ccc" [3]=>"ddd" [4]=>"eee" } 
    [1]=> array(5) { [0]=>"blablabla" [1]=>"blablabla" [2]=>"blablabla" [3]=>"blablabla" [4]=>"blablabla" }
    [2]=> array(5) { [0]=>"aaa" [1]=>"bbb"[2]=>"ccc" [3]=>"ddd" [4]=>"eee" } 
    [3]=> array(5) { [0]=>"blablabla" [1]=>"blablabla" [2]=>"blablabla" [3]=>"blablabla" [4]=>"blablabla" }
    [4]=> array(5) { [0]=>"blablabla" [1]=>"blablabla" [2]=>"blablabla" [3]=>"blablabla" [4]=>"blablabla" }
...}

我需要

array (?) {   
    [0]=> array(2) { 
        [0]=> array(5) { [0]=>"aaa" [1]=>"bbb"[2]=>"ccc" [3]=>"ddd" [4]=>"eee" }   
        [1]=> array(5) { [0]=>"blablabla" [1]=>"blablabla" [2]=>"blablabla" [3]=>"blablabla" [4]=>"blablabla" }}
    [1]=> array(3) { 
        [0]=> array(5) { [0]=>"aaa" [1]=>"bbb"[2]=>"ccc" [3]=>"ddd" [4]=>"eee" }  
        [1]=> array(5) { [0]=>"blablabla" [1]=>"blablabla" [2]=>"blablabla" [3]=>"blablabla" [4]=>"blablabla" }
        [2]=> array(5) { [0]=>"blablabla" [1]=>"blablabla" [2]=>"blablabla" [3]=>"blablabla" [4]=>"blablabla" }}
    ...}

' blablabla'可以是任何长度和格式,但是' aaa',' bbb',...在所有数组中都是相同的。需要数组以' aaa'

开头

1 个答案:

答案 0 :(得分:0)

实际上这很简单,只需要一个foreach()

$i=-1; //this will increment on first loop so we set it to -1
$key_to_find = $array[0][0]; //storing the 'aaa' value
$result = array();       
foreach($array as $key=>$val){
    //checking if 'aaa' equals to the first value, if yes increment $i to 0
    ($val[0]==$key_to_find)?$i++:'';
    //save the whole array bunch
    $result[$i][] = $val;
}

print_r($result);

<强> DEMO