警告:各种措辞所采取的序列化机制每每不一样,不兼容。

1 序列化serialize()

string serialize ( mixed $value )

php在线序列化PHP面向对象序列化反序列化代码讲授 jQuery

serialize() 返回字符串,此字符串包含了表示 value 的字节流,同时不丢失其类型和构造。

serialize() 可处理除了 resource 之外的任何类型。
乃至可以 serialize() 那些包含了指向其自身引用的数组。

当序列化工具时,PHP 将试图在序列动作之前调用该工具的成员函数 __sleep()。
这样就许可工具在被序列化之前做任何打消操作。

2 反序列化unserialize()

mixed unserialize ( string $str )

想要将已序列化的字符串变回 PHP 的值,可利用 unserialize()。

当利用 unserialize() 规复工具时, 将调用 __wakeup() 成员函数。

如果要想在其余一个文件中反序列化一个工具,必须要在反序列化之前定义这个工具的类。

// 未定义工具的类时,如果反序列化,会得到下面的__PHP_Incomplete_Class工具,不含方法。

__PHP_Incomplete_Class Object

(

[__PHP_Incomplete_Class_Name] => Person

[name:Person:private] => jack

[age:Person:private] => 18

[sex:Person:private] => M

)