2014-05-13 3 views
0

동일한 키로 구성된 배열이 있습니다. 키 이름으로 분할하고 싶습니다. TrackingId로 분할하려고합니다. 예를 들어 다음 배열은 3 추적 ID로 구성되어 있습니다. 나는 3 개의 다른 array.Array을 만들고 싶어.키가있는 동적 배열을 분할합니다.

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] => ************ 
     ) 
) 
+0

Rephrase and more detail please? – bwoebi

+2

원하는 결과를 얻을 수 – hindmost

+0

'[2] => 배열 ( [0] => 휴대폰 번호 [1] => 9688484930 }'<---- 방법 먼저 배열 구조를 재 설계 ?? –

답변

0

나는이 방법으로 그것을했다.

$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); 
    } 

} 

다음과 같이 원하는 결과를 반환합니다.

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 
       ) 

      ) 
)   
관련 문제