2014-08-29 7 views
0

에서 가치를 내가 가지고는 A JSON 호출에 의해 반환되는 때라도 :중첩 된 JSON 배열

Array 
(
    [0] => Array 
     (
      [so] => SO0040024 
     ) 

    [1] => Array 
     (
      [coid] => 4824 
     ) 

    [2] => Array 
     (
      [sdkstatus] => 7 
     ) 

    [3] => Array 
     (
      [sdkstatus] => pass 
     ) 

    [4] => Array 
     (
      [invoicenumber] => INV0063955 
     ) 

    [5] => Array 
     (
      [invoiceamount] => 9437.24 
     ) 

    [6] => Array 
     (
      [invoicestatus] => pass 
     ) 

    [7] => Array 
     (
      [invoicestatus] => fail 
     ) 

) 

가 어떻게 배열에서 각각의 값을 추출합니까? 예를 들어 invoicenumber INV0063955를 원합니다.

감사합니다, 당신의 데이터를 구조화하는 끔찍한 방법 라이언

+0

왜 다차원입니까? Theres는 필요가 없습니다. 출력을 평평하게 만들어서 더 쉽게 반복 할 수 있도록하십시오. –

+0

'sdkstatus'와'invoicestatus'처럼 몇몇 키가 두 번 나타나는 이유는 무엇입니까? – Barmar

답변

1

. 자체 배열의 각 속성을 중첩하는 대신 주 배열의 키가되어야합니다. 당신이 그것으로 붙어있는 경우 그러나 :

$newarray = array(); 
foreach ($array as $element) { 
    foreach ($element as $key => $value) { 
     $newarray[$key] = $value; 
    } 
} 

그러나, 이것은, 반복 키를 처리하지 않습니다

foreach ($array as $element) { 
    if (isset($element['invoicenumber'])) { 
     $invoicenumber = $element['invoicenumber']; 
     break; 
    } 
} 

당신은이 같은 더 제정신 연관 배열로 돌려 수 마지막 것만 저장합니다. 나는 이것이 당신의 데이터에서 어떻게 다루어 지는지 확신하지 못한다. 어쩌면 그 요소들은 사실 값 배열일까요?