这里有新鲜出炉的 PHP 教程,程序狗速度看过来!
PHP(外文名: Hypertext Preprocessor,中文名:"超文本预处理器")是一种通用开源脚本语言。语法吸收了 C 语言、Java 和 Perl 的特点,入门门槛较低,易于学习,使用广泛,主要适用于 web 开发领域。PHP 的文件后缀名为 php。
这篇文章主要介绍了 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) "上海市浦东新区"
- }
以上所述是小编给大家介绍的 PHP 序列化和反序列化函数实例详解,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 PHPERZ 网站的支持!
来源: http://www.phperz.com/article/17/0807/340015.html