2017-09-25 158 views
-1

我想弄清楚爲什麼我不使用json_decode時返回任何數據。我試圖獲取有效的json文件中的值(是的,我測試了它)。當我嘗試和使用:php json_decode不返回任何結果

foreach($json['designs']['filters'] as $filters) { 
    echo $filters['filterTypeName']; 
} 

我正在返回的值......這是偉大的,但我想踏踏實實地JSON文件的一個新的水平拉只值下「的價值觀,每個陣列」。這裏是從file_get_contents('url') JSON文件的結果:

{"designs": { 
    "filters" : 
     [ 
      { 
       "filterTypeName":"Year", 
       "filterProperty":"year", 
       "values": 
        [ 
         { 
          "name":"2018", 
          "value":"2018", 
          "sortvalue":"1" 
         }, 
         { 
          "name":"2017", 
          "value":"2017", 
          "sortvalue":"2" 
         }, (etc.) 

        ] 
      }, 
      { 
       "filterTypeName":"Division", 
       "filterProperty":"division", 
       "values": 
        [ 
         { 
          "name":"Resort-Apparel", 
          "value":"Resort-Apparel", 
          "sortvalue":"1" 
         }, 
         { 
          "name":"College-Apparel", 
          "value":"College-Apparel", 
          "sortvalue":"2" 
         }, (etc.) 

        ] 
      }, (etc.) 

基本上,我有我的窗體上的選擇選項,覈對上面列出的值返回符合條件的設計。

我該如何專門搜索一個選擇組中的所有年份,然後再選擇另一個選擇組中的所有分部,以此類推?

感謝您的任何和所有的幫助!

+0

難道你不需要'foreach($ filters ['values']作爲$ value)echo $ value-> name。$ value-> value。$ value-> sortvalue;'在你的foreach中? – jh1711

+0

標題與該問題不符。 –

回答

0

使用$json->designs-> filters就如其他人所說的訪問過濾器,而非$json['designs']['filters']

0

嘗試,除非真的被指定爲第二個參數json_decode返回一個對象,那麼你的選擇要麼是:

  1. 使用$json->designs->filters
  2. 或使用json_decode($json, true)
0

我用foreach($json['designs']['filters'][0]['values'] as $name)我忘了指定我嘗試訪問的數組的數量。