2016-02-09 104 views
0

我試圖通過嵌套數組在我的JSONObject中循環。我的目標是基於JSONObject的數據之前我嵌套數組目前我使用該工具來獲取JSON在JSON中使用PHP循環嵌套數組使用PHP

$restaurant = json_decode(file_get_contents("restaurant.json")); 

這裏的內容是舊的foreach循環呼應div的

<?php foreach($restaurant->menu->starter as $starter){ 
       echo '<h3>'.$starter->name.'</h3><br><p>'.$starter->price.'</p><br>'; 

      } ?> 

這裏是我的新的JSONObject

{ 
    "name": "Takeaway Kings", 
    "menu": [ 
    { 
     "starter": [ 
     { 
      "name": "Samosas", 
      "price": 3.5 
     }, 
     { 
      "name": "Chaat", 
      "price": 1.99 
     } 
     ] 
    }, 
    { 
     "dessert": [ 
     { 
      "name": "Kulfi", 
      "price": 2.5 
     }, 
     { 
      "name": "Kheer", 
      "price": 2.99 
     } 
     ] 
    }, 
    { 
     "main": [ 
     { 
      "name": "Lamb Biryani", 
      "price": 4.5 
     }, 
     { 
      "name": "Chicken Tikka Masala", 
      "price": 5.99 
     } 
     ] 
    } 
    ] 
} 

我不知道如何例如寫這個循環只爲首發數據顯示

+0

爲什麼你讓你的數據結構更難遍歷?除非你確信訂購永遠不會改變,這種新的結構不允許直接訪問你需要的屬性 – Steve

+0

看看http://stackoverflow.com/questions/35288287/loop-through-json-array-inside- an-array/35288581#35288581 –

回答

1
$arr = json_decode($json); // $json is your JSON. 
foreach($arr->menu[0]->starter as $starter){ 
    echo '<h3>'.$starter->name.'</h3><br><p>'.$starter->price.'</p><br>'; 
} 
+0

是否有可能通過每個數組循環遍歷每個數組,然後通過嵌套的foreach循環遍歷每個數組內容。我正在考慮如果內容存在,如果不是,則不顯示它來回顯div – Joey93