Heim > Artikel > Backend-Entwicklung > Kann PHP nicht serialisiert werden?
php kann eine Serialisierung erreichen. In PHP können Sie die Funktion serialize() verwenden, um die Serialisierung zu implementieren und den Wert in eine speicherbare Zeichenfolge umzuwandeln. Mit der Syntax „serialize (zu serialisierende Variable)“ können Sie zur Implementierung auch die Funktion unserialize() verwenden Deserialisierung und erneute Änderung des Strings auf seinen ursprünglichen Wert in PHP.
Die Betriebsumgebung dieses Tutorials: Windows 7-System, PHP-Version 7.1, DELL G3-Computer
Die sogenannte Serialisierung ist der Prozess der Konvertierung einer Variablen im Speicher in eine Zeichenfolge, die gespeichert oder übertragen werden kann. Bei der Deserialisierung wird diese Zeichenfolge zum geeigneten Zeitpunkt für die Verwendung in die ursprüngliche Variable konvertiert. Durch die Kombination dieser beiden Prozesse können Datenspeicher- und Übertragungsvorgänge problemlos abgeschlossen werden, wodurch das Programm besser wartbar wird.
php kann auch Serialisierung implementieren.
In PHP können Sie die Funktion serialize() verwenden, um die Serialisierung zu implementieren und den Wert in eine speicherbare Zeichenfolge umzuwandeln. Sie können die Zeichenfolge auch mit der Funktion unserialize() wieder in den ursprünglichen Wert von PHP ändern die umgekehrte Serialisierung. Das Syntaxformat der Funktion
serialize() lautet wie folgt:
serialize(mixed $value)
wobei $value die zu serialisierende Variable ist. Die Funktion
serialize() kann jeden Typ außer Ressource verarbeiten. Beim Serialisieren eines Objekts ruft PHP vor der Sequenzaktion die Memberfunktion __sleep() des Objekts auf. Dadurch können alle Bereinigungsvorgänge durchgeführt werden, bevor das Objekt serialisiert wird. Wenn ein Objekt mit unserialize() deserialisiert wird, wird in ähnlicher Weise die Memberfunktion __wakeup() aufgerufen.
【Beispiel】Verwenden Sie die Funktion serialize(), um ein Objekt zu serialisieren.
<?php header('content-type:text/html;charset=utf-8'); class WebSit{ public $name; public $url; function __construct($name, $url){ $this->name = $name; $this->url = $url; } } $websit = new WebSit('php中文网', 'https://www.php.cn/'); $ser_str = serialize($websit); echo $ser_str; ?>
Erweiterte Kenntnisse: Deserialisierung
Nachdem Sie die Funktion serialize() zum Serialisieren des Objekts verwendet haben, können Sie die resultierende Zeichenfolge in einer Datei oder Datenbank speichern und diese Zeichenfolge dann mit der Funktion unserialize (wo erforderlich) deserialisieren . Das Syntaxformat der Funktion unserialize() lautet wie folgt:
unserialize(string $str)
Dabei ist $str die mit der Funktion serialize() serialisierte Zeichenfolge. Wenn die eingehende Zeichenfolge nicht deserialisiert werden kann, wird FALSE zurückgegeben und ein E_NOTICE generiert.
【Beispiel】Deserialisieren Sie die oben erhaltene Zeichenfolge.
<?php header('content-type:text/html;charset=utf-8'); class WebSit{ public $name; public $url; function __construct($name, $url){ $this->name = $name; $this->url = $url; } } $str = 'O:6:"WebSit":2:{s:4:"name";s:12:"php中文网";s:3:"url";s:19:"https://www.php.cn/";}'; $websit = unserialize($str); var_dump($websit); ?>
Empfohlenes Lernen: „PHP-Video-Tutorial“
Das obige ist der detaillierte Inhalt vonKann PHP nicht serialisiert werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!