1、什么是变量序列化
1)序列化是将变量转换为可保存或传输的字符串的过程;
2)反序列化就是在适当的时候把这个字符串再转化成原来的变量使用;
3)这两个过程结合起来,可以轻松地存储和传输数据,使程序更具维护性;
4)序列化有利于存储或传递 PHP 的值,同时不丢失其类型和结构。
2、序列化函数serialize()
1)描述:产生一个可存储的值的表示;
2)语法:string serialize ( mixed $value )
3)参数:$value
可以是任何类型,除了资源外;
4)返回:返回序列化之后的字符串,可以存储于任何地方。
![](https://img.haomeiwen.com/i12275941/f1d0fd603de96a51.png)
![](https://img.haomeiwen.com/i12275941/1829a8a2172140ab.png)
3、反序列化函数unserialize()
1)描述:从已存储的表示中创建 PHP 的值
2)语法:mixed unserialize ( string $str )
3)说明:对单一的已序列化的变量进行操作,将其转换回 PHP 的值。
4)参数:$str
为序列化后的字符串;
5)返回:返回的是转换之后的值,可为 integer、float、string、array或 object。 如果传递的字符串不可序列化,则返回 FALSE,并产生一个 E_NOTICE。
![](https://img.haomeiwen.com/i12275941/8e8f571229b27db4.png)
4、对象序列化
1)对象的序列化过程,与其它变量数据一样;
2)对象序列化的内容只能包含成员属性;
![](https://img.haomeiwen.com/i12275941/a02a95e59b73fcd6.png)
5、对象反序列化
1)对象的反序列化过程,与其它变量数据一样;
![](https://img.haomeiwen.com/i12275941/4ac3d2a152b5bc3d.png)
网友评论