如何回显数组和内部数组的foreach循环?

时间:2016-12-13 20:13:01

标签: php arrays foreach

我从json文件中获取以下数组:

 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>";

请帮忙。

1 个答案:

答案 0 :(得分:0)

如果您正试图显示&#34; infracciones&#34;然后你可以简单地做:

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