2016-02-09 2 views
0

Я пытаюсь выполнить петлю через вложенный массив, который находится в моем JSONObject. Моя цель состоит в том, чтобы повторить ДИВО это на основе данных в JSONObject в настоящее время я использую это, чтобы получить содержимое JSONПрокрутка через вложенный массив в JSON с использованием PHP

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

Вот старый цикл по каждому элементу, прежде чем я вложен массив

<?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- a-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 для прохода через каждый массив, так что главный и десертный стартер, а затем вложенный цикл foreach для циклического прохождения каждого массива. Я думал о том, чтобы эхом отделить div, если содержимое присутствует, если нет, то не отображать его – Joey93

Смежные вопросы