找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 1761|回复: 0
打印 上一主题 下一主题

PHP 序列化和反序列化函数实例详解

[复制链接]

2647

主题

2647

帖子

7881

积分

论坛元老

Rank: 8Rank: 8

积分
7881
跳转到指定楼层
楼主
发表于 2018-2-14 05:26:27 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

            序列化与反序列化
把复杂的数据类型压缩到一个字符串中
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 序列化和反序列化函数实例详解,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!
            
            
您可能感兴趣的文章:
  • 解析PHP多种序列化与反序列化的方法
  • php json与xml序列化/反序列化
  • 详解PHP序列化反序列化的方法
  • PHP中SERIALIZE和JSON的序列化与反序列化操作区别分析
  • php中序列化与反序列化详解
  • 深入解析PHP中SESSION反序列化机制
  • 详解PHP中的序列化、反序列化操作
  • 深入浅析PHP的session反序列化漏洞问题
  • PHP多种序列化/反序列化的方法详解
  • 详解PHP序列化和反序列化原理
            
  • 分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    用户反馈
    客户端