首页 > PHP教程 > php开发知识文章

PHP 序列化和反序列化函数的使用

本文主要介绍了PHP 序列化和反序列化函数的使用,欢迎大家的学习。

序列化与反序列化

把复杂的数据类型压缩到一个字符串中

所有php里面的值都能使用函数serialize()来返回一个包含字节流的字符串来表示,即把变量和它们的值编码成字符串形式。

unserialize()函数能够重新把字符串变回php原来的值。 序列化一个对象将会保存对象的所有变量,但是不会保存对象的方法,只会保存类的名字。

1. 创建一个$arr数组用于储存用户基本信息

 

$arr = array();
$arr['name'] = 'php';
$arr['age'] = '22';
$arr['sex'] = '';
$arr['phone'] = '123456789';
$arr['address'] = '上海市';
var_dump($arr);

2. 将$arr数组进行序列化赋值给$info字符串

 

$re = serialize($arr);
var_dump($re);

输出结果:

a:5:{s:4:"name";s:6:"php";s:3:"age";s:2:"22";s:3:"sex";s:3:"男";s:5:"phone";s:9:"123456789";s:7:"address";s:21:"上海市";}

使用序列化serialize($arr)函数,将数组中元素的键和值按照规则顺序连接成字符串。a:5标志序列化为array包含5个键值对,s:4标志内容为字符串包含4个字符。

通过序列化我们将一些模块化的数据使用字符串的形式存储在数据库或session等,减少创建众多繁琐的数据表字段,序列化为字符串存储会增加额外的空间,应合理的设计和应用。

3. 最后使用unserialize($info)反序列化将字符串还原成我们需要的数组模式

 

$re1 = unserialize($re);
var_dump($re1);

输出

以上所述是小编给大家介绍的PHP 序列化和反序列化函数的使用,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。

关闭
感谢您的支持,我会继续努力!
扫码打赏,建议金额1-10元


提醒:打赏金额将直接进入对方账号,无法退款,请您谨慎操作。