首页 > 代码库 > php序列化与反序列化
php序列化与反序列化
序列化与反序列化
把复杂的数据类型压缩到一个字符串中
serialize() 把变量和它们的值编码成文本形式
unserialize() 恢复原先变量
1.创建一个$arr数组用于储存用户基本信息,并在浏览器中输出查看结果;
?
1
2
3
4
5
6
7
|
$arr = array (); $arr [ ‘name‘ ]= ‘张三‘ ; $arr [ ‘age‘ ]= ‘22‘ ; $arr [ ‘sex‘ ]= ‘男‘ ; $arr [ ‘phone‘ ]= ‘123456789‘ ; $arr [ ‘address‘ ]= ‘上海市浦东新区‘ ; var_dump( $arr ); |
输出结果:
?
1
2
3
4
5
6
7
|
array (5) { [ "name" ]=> string(6) "张三" [ "age" ]=> string(2) "22" [ "sex" ]=> string(3) "男" [ "phone" ]=> string(9) "123456789" [ "address" ]=> string(21) "上海市浦东新区" } |
2.将$arr数组进行序列化赋值给$info字符串,并在浏览器中输出查看结果;
?
1
2
|
$info =serialize( $arr ); var_dump( $info ); |
输出结果:
?
1
|
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)反序列化将字符串还原成我们需要的数组模式;
?
1
2
|
$zhangsan =unserialize( $info ); var_dump( $zhangsan ); |
输出结果:
?
1
2
3
4
5
6
7
|
array (5) { [ "name" ]=> string(6) "张三" [ "age" ]=> string(2) "22" [ "sex" ]=> string(3) "男" [ "phone" ]=> string(9) "123456789" [ "address" ]=> string(21) "上海市浦东新区" } |
php序列化与反序列化
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。