2017-04-26 4 views
0

Ich habe und Array von wenigen Objekten. Und diese Objekte sind Instanzen verschiedener Klassen.Cookie Rückkehr stdClass Objekt nur

Angenommen

array (
[0] => Car Object(
    [id] => 6 
    [name] => Texi 1 
) 
[1] => Bed Object(
    [id] => 40 
    [name] => Sleeping Bed 
) 
) 

Nun ich das Cookie speicherte, und vor dem Speichern Ich verwende json_encode auf es zu benutzen.

Während des Abrufens Wenn ich json_decode($data) verwende, bekomme ich ein Array von Stanadrd-Objekten, und wenn ich json_decode($data, true) verwende, dann bekomme ich nur Arrays von Arrays !!!

Also anstelle von stdClass-Objekten, wie bekomme ich echte Objekte? ist es möglich ?

Ich habe versucht serialize(json_decode($data, true)); aber vergeblich. Vielen Dank im Voraus für Hilfe.

+0

@alice, überprüfen Sie diesen Beitrag - http://Stackoverflow.com/a/20096924/4841755. – Viktor

Antwort

0

Verwenden Sie stattdessen serialize($data) und unserialize($data), um die ursprünglichen Daten abzurufen.

Verwenden Sie json_encode vor dem Serialisieren nicht, da dies die Klassen in StdObject oder Arrays umwandelt.

+0

Bereits versucht, dass, und das funktioniert nicht für mich :( – Alice

+1

Sie sagten, Sie verwendet: serialize (json_decode ($ data, true)); was bedeutet, dass die Daten, die Sie serialisiert wurden json codiert. Serialisieren Sie es ohne JSON Codierung der Daten http://php.net/manual/en/function.serialize.php –

+1

Ich ** dringend ** rate davon ab, vor allem in Cookies - es wird automatisch eine Remote-Code-Execution-Schwachstelle. – Narf