Autor Zpráva
kolemjdouci2012
Profil *
Pěkný den,

Udělal jsem si takové pěkné array, ale když chci vypsat například více jsonu, tak nevím jak na to. Uvádím ukázkový JSON + Kód

{"messages":{"warnings":[{"date":"2012-04-06 17:45:53","message":"msg1"},{"date":"2012-03-26 16:40:12","message":"msg2"},{"date":"2012-03-01 17:00:13","message":"msg3"},{"date":"2012-02-29 21:06:25","message":"msg4"}}

for($i = 0; $i < count($json['messages']['warnings']; ++$i){
    echo $json['messages']['warnings']['date'][$i]. " - ". $json['messages']['warnings']['message'][$i];
}

count funguje naprosto bezchybně, ale když má přijít na výpis dat tak to nic nevypíše.

Děkuji pěkně
Jan Tvrdík
Profil
kolemjdouci2012:
Ukázkový JSON obsahuje chybu, chybí v něm ukončovací hranatá závorka:

{
    "messages": {
        "warnings": [{
            "date": "2012-04-06 17:45:53",
            "message": "msg1"
        }, {
            "date": "2012-03-26 16:40:12",
            "message": "msg2"
        }, {
            "date": "2012-03-01 17:00:13",
            "message": "msg3"
        }, {
            "date": "2012-02-29 21:06:25",
            "message": "msg4"
        }]
}

Výpis by pak měl vypadat takto:
for ($i = 0; $i < count($json['messages']['warnings']); ++$i) {
    echo $json['messages']['warnings'][$i]['date'] . " - " . $json['messages']['warnings'][$i]['message'];
}

Případně to lze zpřehlednit takto:
$warnings = & $json['messages']['warnings'];
for ($i = 0; $i < count($warnings); ++$i) {
    echo $warnings[$i]['date'] . " - " . $warnings[$i]['message'];
}
kolemjdouci2012
Profil *
Funkční! Děkuji pěkně

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: