用键分割动态数组。 [关闭]

I have an array consisting same keys. I want to split it by key name. I want to split it by TrackingId. For example following array consist of 3 tracking id i want to make 3 different array.Array as follows-

Array
(
    [0] => Array
        (
            [0] => TrackingId
            [1] => 22173753
        )

    [1] => Array
        (
            [0] => TrackingIdServ
            [1] => 47
        )

    [2] => Array
        (
            [0] => MobileNumber
            [1] => ***********
       )
    [3] => Array
    (
        [0] => TransSubmitter
        [1] => TPASUA2
     )

    [4] => Array
        (
            [0] => TrackingId
            [1] => 22153392
        )

    [5] => Array
        (
            [0] => TrackingIdServ
            [1] => 47
        )

    [6] => Array
        (
            [0] => MobileNumber
            [1] => ************     
        }

    [7] => Array
        (
            [0] => TrackingId
            [1] => 1184031
        )

    68] => Array
        (
            [0] => TrackingIdServ
            [1] => 47
        )

    [9] => Array
        (
            [0] => MobileNumber
            [1] => ************
        )
)   

I have done it by this way.

$i=0;
foreach($result as $key){
    $i++;
    if($key[0]=="TrackingId"){
        $loc[]=$i;
        $start[]=$i-1;
        $end[]=$i-1;
    }
    $lastKey=$i;
}

$arrLength=count($loc);

$chunks=array();

for($i=0;$i<$arrLength;$i++){

    $j=$i+1;
    $v=$end[$j]-$lastKey;

    if($start[$i]==0){
        $chunks[]=array_slice($result,$start[$i],$end[$j]);
    }else if($end[$j]=="") {
        $chunks[]=array_slice($result,$start[$i],$lastKey);
    }else{
        $chunks[]=array_slice($result,$start[$i],$v);
    }

}

It returns me desired result as follows.

Array
(
    [0] => Array
        (
            [0] => Array
                (
                    [0] => TrackingId
                    [1] => 22173753
                )

            [1] => Array
                (
                    [0] => TrackingIdServ
                    [1] => 47
                )

            [2] => Array
                (
                    [0] => MobileNumber
                    [1] => XXXXXXXXXXX
                )
            [3] => Array
                (
                    [0] => TransSubmitter
                    [1] => TPASUA2
                 )  
        )       
        [1] => Array
        (
            [0] => Array
                (
                    [0] => TrackingId
                    [1] => 1184031
                )

            [1] => Array
                (
                    [0] => TrackingIdServ
                    [1] => 47
                )

            [2] => Array
                (
                    [0] => MobileNumber
                    [1] => XXXXXXXXXXXX
                )
        )
          [2] => Array
        (
            [0] => Array
                (
                    [0] => TrackingId
                    [1] => 22153392
                )

            [1] => Array
                (
                    [0] => TrackingIdServ
                    [1] => 47
                )

            [2] => Array
                (
                    [0] => MobileNumber
                    [1] => XXXXXXXXXXX
                )

            )
)