2016-12-13 11 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 
    ) 

) 

私が注文した形でWebページ上のデータを表示したいです。次のコードを試しましたが、ネストされた配列に到達すると固執します。

$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

関連する問題