2016-12-13 55 views
0

我從一個JSON文件中獲取以下數組:如何回顯數組和內部數組的foreach循環?

Array 
(
[consulta] => Array 
    (
     [placa] => 436PER 
     [tenencias] => Array 
      (
       [placa] => 436PER 
       [tieneadeudos] => 0 
      ) 

     [infracciones] => Array 
      (
       [0] => Array 
        (
         [folio] => 03042535585 
         [fecha] => 2014-05-27 
         [situacion] => Pagada 
         [motivo] => POR NO RESPETAR LOS LÍMITES DE VELOCIDAD ESTABLECIDOS EN VÍAS PRIMARIAS, EN CASO DE NO HABER SEÑALAMIENTO LA VELOCIDAD MÁXIMA SERÁ DE 70 KILÓMETROS POR HORA 
         [fundamento] => Artículo: 5, Fracción: V, Parrafo: , Inciso: A 
         [sancion] => 5 unidades de cuenta 
        ) 

       [1] => Array 
        (
         [folio] => 04118556480 
         [fecha] => 2011-12-30 
         [situacion] => Pagada 
         [motivo] => LOS CONDUCTORES DEBEN CERCIORARSE DE QUE SU VEHÍCULO ESTÉ PROVISTO DE LUCES INDICADORAS DE FRENOS EN LA PARTE TRASERA 
         [fundamento] => Artículo: 16, Fracción: III, Parrafo: , Inciso: D 
         [sancion] => 5 unidades de cuenta 
        ) 

       [2] => Array 
        (
         [folio] => 01113199230 
         [fecha] => 2011-10-27 
         [situacion] => Pagada 
         [motivo] => POR ESTACIONARSE EN ZONAS O VÍAS PÚBLICAS DONDE EXISTA SEÑALIZACIÓN VÍAL RESTRICTIVA 
         [fundamento] => Artículo: 12, Fracción: II, Parrafo: , Inciso: 
         [sancion] => 10 unidades de cuenta 
        ) 

      ) 

     [verificaciones] => error 
    ) 

) 

我想在一個有序的方式顯示在網頁上的數據。我已經嘗試了下面的代碼,但當我到達嵌套數組時,卡住了。

$placa = "436per"; 
$str =  file_get_contents("http://datos.labplc.mx/movilidad/vehiculos/{$placa}.json"); 
$json = json_decode($str, true); // decode the JSON into an associative  array 
echo '<pre>' . print_r($json, true) . '</pre>'; 
$placas = $json[consulta][placa]; 
$tenencias = $json[consulta][tenencias][tieneadeudos]; 
echo "placas:" . $placas . "<br>"; 
echo "tenencias:" . $tenencias . "<br>"; 

foreach ($json[consulta][infracciones] as $row => $json[consulta]  [infracciones][0]) { 
foreach ($json[consulta][infracciones] as $field => $value) {  
echo $field . ":" . $value ."<br>"; 

請幫忙。

回答

0

如果你想顯示「infracciones」,那麼你可以簡單地做:

foreach ($json[consulta][infracciones] as $item) 
{ 
    foreach ($item as $k => $v) 
    {  
     echo $k .':' .$v .'<br>'; 
    } 
    echo '<br/>'; 
} 
+0

我要顯示所有數據的所有字段和值以及在infracciones字段和值嵌套,如何我把這些放在一起嗎?謝謝 – Joekom