Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: json_decode, väärä paluuarvo

Paulus M [18.02.2011 01:18:57]

#

Terve, yksinkertainen kysymys:

mulla on moniuloitteinen taulukko $model.
var_dump($model) aiheuttaa:

array(509) { [49]=> array(2) { [0]=> int(376) [1]=> int(425) } [50]=> array(2) { [0]=> int(351) [1]=> int(452) } [51]=> array(2) { [0]=> int(335) [1]=> int(467) } [52]=> array(2) { [0]=> int(328) [1]=> int(474) } [53]=> array(2) { [0]=> int(312) [1]=> int(490) } [54]=> array(2) { [0]=> int(306) [1]=> int(495) } [55]=> array(2) { [0]=> int(297) [1]=> int(505) } [56]=> array(2) { [0]=> int(286) [1]=> int(515) } [57]=> array(2) { [0]=> int(283) [1]=> int(519) } [58]=> array(2) { [0]=> int(273) [1]=> int(528) } [59]=> array(2) { [0]=> int(269) [1]=> int(532) } [60]=> array(2) { [0]=> int(263) [1]=> int(538) } [61]=> array(2) { [0]=> int(254) [1]=> int(547) } [62]=> array(2) { [0]=> int(251) [1]=> int(550) } [63]=> array(2) { [0]=> int(245) [1]=> int(555) } [64]=> array(2)....

var_dump(json_decode(json_encode($model)));

aiheuttaa:

object(stdClass)#25 (509) { ["49"]=> array(2) { [0]=> int(376) [1]=> int(425) } ["50"]=> array(2) { [0]=> int(351) [1]=> int(452) } ["51"]=> array(2) { [0]=> int(335) [1]=> int(467) } ["52"]=> array(2) { [0]=> int(328) [1]=> int(474) } ["53"]=> array(2) { [0]=> int(312) [1]=> int(490) } ["54"]=> array(2) { [0]=> int(306) [1]=> int(495) } ["55"]=> array(2) { [0]=> int(297) [1]=> int(505) } ["56"]=> array(2) { [0]=> int(286) [1]=> int(515) } ["57"]=> array(2) { [0]=> int(283) [1]=> int(519) } ["58"]=> array(2) { [0]=> int(273) [1]=> int(528) } ["59"]=> array(2) { [0]=> int(269) [1]=> int(532) } ["60"]=> array(2)....

Eli array muuttuu json koodauksien välillä joksikin ihmeen stdClass objektiksi.

Oisko jollain hajua miksi?


EDIT: eli siis eikö muuttujan pitäisi pysyä samana kun se eka encodataan ja sitten decodataan. Näyttää silti, että se on muuttanut esim. tuon 49 merkijonoksi "49", vai?

Teuro [18.02.2011 06:50:03]

#

Lue php.netin manuaalista tuon funktion kuvaus siellä on vastaus. Eli siis antamalla funktiolle toiseksi parametriksi true, saat normaalin taulukon.

Paulus M [18.02.2011 15:14:46]

#

Totta!

Yritin kyllä sitäkin aiemmin, mutta en ollut silloin vissiin tallettanut muodossa UTF-8, niin ehkä sen takia ei toiminut. Oisi pitänyt muistaa kokeilla uudestaan tiedostomuutoksen jälkeenkin.

Mutta kiitokset Teuro!

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta