Komplexe Datentypen in eine Zeichenfolge komprimieren
serialize() Variablen und ihre Werte in Textform kodieren
unserialize() Originalvariablen wiederherstellen
zB:
1 2 3 4 |
|
Ergebnis: a:3:{i:0;s:3:"Moe";i:1; "Larry";i:2;s:5:"Curly";}
Array ( [0] => Moe [1] => Larry [2] => Curly )
Wenn diese serialisierten Daten in die URL eingefügt und zwischen Seiten weitergegeben werden, müssen Sie urlencode() für die Daten aufrufen, um sicherzustellen, dass die darin enthaltenen URL-Metazeichen verarbeitet werden:
1 2 |
|
Die Einstellungen der Konfigurationselemente margic_quotes_gpc und magic_quotes_runtime wirken sich auf die an unserialize() übergebenen Daten aus.
Wenn die Option magic_quotes_gpc aktiviert ist, müssen in URLs, POST-Variablen und Cookies übergebene Daten vor der Deserialisierung mit stripeslashes() verarbeitet werden:
1 2 |
|
Wenn magic_quotes_runtime aktiviert ist, müssen serialisierte Daten mit addslashes() verarbeitet werden, bevor sie in die Datei geschrieben werden, und bevor sie gelesen werden. Sie müssen Stripslashes() für die Verarbeitung verwenden:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
|
Beim Deserialisieren eines Objekts ruft PHP automatisch seine __wakeUp()-Methode auf. Dadurch kann das Objekt verschiedene Zustände wiederherstellen, die während der Serialisierung nicht beibehalten wurden. Zum Beispiel: Datenbankverbindung usw.
Weitere Artikel zum Thema Serialisierung und Deserialisierung in PHP finden Sie auf der chinesischen PHP-Website!