Heim >Backend-Entwicklung >PHP-Problem >Der Unterschied zwischen PHP-Serialisierungsfunktionen
serialize() //把变量和它们的值编码成文本形式,即产生一个可存储的值的表示
Detaillierte Erklärung:
serialize()
Gibt einen String zurück, der Bytes enthält, die den Wert darstellen. Streams können gespeichert werden überall. Dies erleichtert das Speichern oder Übergeben von PHP-Werten, ohne dass Typ und Struktur verloren gehen.
unserialize() //恢复原先变量。
Detaillierte Erklärung:
unserialize()
Mit einer einzelnen serialisierten Variablen arbeiten und diese zurück in einen PHP-Wert konvertieren. Wenn die übergebene Zeichenfolge nicht deserialisierbar ist, wird FALSE zurückgegeben und ein E_NOTICE
erzeugt.
$arr=array(); $arr['name']='张三'; $arr['age']='22'; $arr['sex']='男'; $arr['phone']='123456789'; $arr['address']='上海市浦东新区'; var_dump($arr); //输出: // array(5) { // ["name"]=> string(6) "张三" // ["age"]=> string(2) "22" // ["sex"]=> string(3) "男" // ["phone"]=> string(9) "123456789" // ["address"]=> string(21) "上海市浦东新区" // } //序列化: $info=serialize($arr); var_dump($info); //输出: //string(140) "a:5:{s:4:"name";s:6:"张三";s:3:"age";s:2:"22";s:3:"sex";s:3:"男";s:5:"phone";s:9:"123456789";s:7:"address";s:21:"上海市浦东新区";}" ////////////////////////说明///////////////////////////////// //**a:5标志序列化为array包含5个键值对,s:4标志内容为字符串包含4个字符。**// $zhangsan=unserialize($info); var_dump($zhangsan); //输出: // array(5) { // ["name"]=> string(6) "张三" // ["age"]=> string(2) "22" // ["sex"]=> string(3) "男" // ["phone"]=> string(9) "123456789" // ["address"]=> string(21) "上海市浦东新区" // }
Wenn Sie die serialisierte Zeichenfolge wieder in einen PHP-Wert ändern möchten, können Sie unserialize() verwenden. serialize() kann jeden Typ außer Ressource verarbeiten. Sie können sogar Arrays serialisieren(), die Verweise auf sich selbst enthalten. Referenzen in dem Array/Objekt, das Sie serialisieren(), werden ebenfalls gespeichert.
Beim Serialisieren eines Objekts versucht PHP, die Memberfunktion __sleep() des Objekts vor der Sequenzaktion aufzurufen. Dadurch können alle Bereinigungsvorgänge durchgeführt werden, bevor das Objekt serialisiert wird. Wenn ein Objekt mit unserialize() wiederhergestellt wird, wird in ähnlicher Weise die Memberfunktion __wakeup() aufgerufen.
Der obige Inhalt dient nur als Referenz!
Empfohlenes Tutorial: PHP-Video-Tutorial
Das obige ist der detaillierte Inhalt vonDer Unterschied zwischen PHP-Serialisierungsfunktionen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!