2015-07-02 2 views
3

мне нужно напечатать JSON выход в таблицепечати JSON выход в таблицу - PHP

{ 
    "response_code":200, 
    "pnr":"6642876935", 
    "train_num":"12792", 
    "train_name":"PNBE SC EXP", 
    "doj":" 6- 7-2015", 
    "from_station": 
     { 
     "code":"PNBE" 
     }, 
    "to_station": 
     { 
     "code":"SC" 
     }, 
    "reservation_upto": 
     { 
     "code":"SC" 
     }, 
    "boarding_point": 
     { 
      "code":"PNBE" 
     }, 
    "class":"SL", 
    "no_of_passengers":"1", 
    "chart_prepared":"N", 
    "passengers":[ 
    { 
     "sr":"1", 
     "booking_status":"W\/L 43, 
     GNWL","current_status": 
     "RAC 19" 
    } 
    ], 
    "noms":1, 
    "error":null 
} 

Thank You,

+1

Добро пожаловать на СО. Пожалуйста, покажите нам, что вы пробовали, и вам лучше всего решить свою проблему самостоятельно. Это несколько простая логика ... –

ответ

1

Поскольку ваш JSON имеет несколько вложенных массивов, нужно перебрать те Aswell , Поэтому мы проверяем, является ли наше значение массивом, если мы используем другой цикл foreach.

<?php 
$json = '{"response_code":200,"pnr":"6642876935","train_num":"12792","train_name":"PNBE SC EXP ","doj":" 6- 7-2015","from_station":{"code":"PNBE"},"to_station":{"code":"SC"},"reservation_upto":{"code":"SC"},"boarding_point":{"code":"PNBE"},"class":"SL","no_of_passengers":"1","chart_prepared":"N","passengers":[{"sr":"1","booking_status":"W\/L 43,GNWL","current_status":"RAC 19"}],"noms":1,"error":null}'; 
$data = json_decode($json, true); 
?> 

<table> 
     <tr> 
      <td>Key</td> 
      <td>Value</td> 
      <td>Value</td> 
     </tr> 
     <?php foreach($data as $key => $value){ 

      if(is_array($value)){ 
        foreach($value as $element){ 
         if(is_array($element)){ 
           foreach($element as $key2 => $child){?> 

            <tr> 
              <td><?php echo $key; ?></td> 
              <td><?php echo $key2; ?></td> 
              <td><?php echo $child; ?></td> 
            </tr> 

        <?php  } 
         } else { ?> 

        <tr> 
         <td><?php echo $key; ?></td> 
         <td><?php echo $element; ?></td> 
         <td></td> 
        </tr> 

        <?php } 
        } 

      } else { ?> 

      <tr> 
        <td><?php echo $key; ?></td> 
        <td><?php echo $value; ?></td> 
        <td></td> 
      </tr> 

     <?php } 
     } ?> 
</table> 
0
<?php 
$json = '{"response_code":200,"pnr":"6642876935","train_num":"12792","train_name":"PNBE SC EXP ","doj":" 6- 7-2015","from_station":{"code":"PNBE"},"to_station":{"code":"SC"},"reservation_upto":{"code":"SC"},"boarding_point":{"code":"PNBE"},"class":"SL","no_of_passengers":"1","chart_prepared":"N","passengers":[{"sr":"1","booking_status":"W\/L 43,GNWL","current_status":"RAC 19"}],"noms":1,"error":null}'; 
$data = json_decode($json, true); 
?> 
<table> 
    <tr> 
     <td>Key</td> 
     <td>Value</td> 
    </tr> 
    <?php foreach($data as $key => $value) : ?> 
    <tr> 
     <td><?= $key; ?></td> 
     <td><?= $value; ?></td> 
    <?php endforeach; ?> 
</table> 
Смежные вопросы