2014-08-29 83 views
0

值我都有以下通過一個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不需要。嘗試平整輸出,以便更容易地循環播放。 – 2014-08-29 10:11:34

+0

爲什麼有些鍵會出現兩次,例如'sdkstatus'和'invoicestatus'? – Barmar 2014-08-29 10:13:11

回答

1

這是構建您的數據的可怕的方式。它不是將每個屬性嵌套在它自己的數組中,而應該是主數組的鍵。但是,如果你堅持了下來:

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

你也可以把它變成一個更健全的關聯數組是這樣的:

​​

然而,這不會處理重複鍵,它將只保存最後一個。我不知道這應該如何處理您的數據。也許這些元素實際上應該是值的數組?