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?
Lue php.netin manuaalista tuon funktion kuvaus siellä on vastaus. Eli siis antamalla funktiolle toiseksi parametriksi true, saat normaalin taulukon.
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!
Aihe on jo aika vanha, joten et voi enää vastata siihen.