这篇文章主要介绍了PHP 序列化和反序列化函数,需要的朋友可以参考下
序列化与反序列化
把复杂的数据类型压缩到一个字符串中
serialize() 把变量和它们的值编码成文本形式
unserialize() 恢复原先变量
1.创建一个$arr数组用于储存用户基本信息,并在浏览器中输出查看结果;
$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) "上海市浦东新区" }
2.将$arr数组进行序列化赋值给$info字符串,并在浏览器中输出查看结果;
$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:"上海市浦东新区";}"
使用序列化serialize($arr)函数,将数组中元素的键和值按照规则顺序连接成字符串。a:5标志序列化为array包含5个键值对,s:4标志内容为字符串包含4个字符。
通过序列化我们可以将一些模块化的数据使用字符串的形式存储在数据库或session等,可以减少创建众多繁琐的数据表字段,当然序列化为字符串存储会增加额外的空间,应合理的设计和应用。
3.最后使用unserialize($info)反序列化将字符串还原成我们需要的数组模式;
$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) "上海市浦东新区" }
以上就是本文的全部内容,希望对大家的学习有所帮助。
相关推荐:
编写html5时调试发现脚本php等网页js、css等失效_html5教程技巧
以上是PHP 序列化和反序列化函数图文详解的详细内容。更多信息请关注PHP中文网其他相关文章!