serialize()
PHP中的函数可以在存储对象之前使用,并且unserialize()
当需要从会话中检索对象时可以调用该函数。
该函数将特定值的可存储表示形式转换为位序列。这样做是为了使数据可以存储在文件,内存缓冲区中,或者可以通过网络传输。
使用序列化功能存储对象-
session_start(); $object = new sample_object(); $_SESSION['sample'] = serialize($object);
通过使用“ session_start”函数启动会话,并创建一个新对象。创建的对象使用“序列化”功能进行序列化,并分配给_SESSION变量。
<?php $data = serialize(array("abc", "defgh", "ijkxyz")); echo $data; ?>
输出结果
这将产生以下输出-
a:3:{i:0;s:3:"abc";i:1;s:5:"defgh";i:2;s:6:"ijkxyz";}
使用反序列化功能来检索对象-
session_start(); $object = unserialize($_SESSION['sample']);
像往常一样,会话使用'session_start'函数开始,并且先前创建的对象(通过将其分配给_SESSION变量进行序列化)使用'unserialize'函数进行反序列化-
<?php $data = serialize(array("abc", "defgh", "ijkxuz")); echo $data . "<br>"; $test = unserialize($data); var_dump($test); ?>
输出结果
这将产生以下输出-
a:3:{i:0;s:3:"abc";i:1;s:5:"defgh";i:2;s:6:"ijkxuz";} array(3) { [0]=> string(3) "abc" [1]=> string(5) "defgh" [2]=> string(6) "ijkxuz" }