PHP序列化和反序列化函数怎么用

  介绍

本篇内容主要讲解“PHP序列化和反序列化函数怎么用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“PHP序列化和反序列化函数怎么用”吧!

<强>序列化与反序列化

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

序列化()把变量和它们的值编码成文本形式
unserialize()恢复原先变量,

<强> 1。创建一个美元arr数组用于储存用户基本信息,并在浏览器中输出查看结果;

$ arr=数组();   $ arr[& # 39;名字# 39;]=& # 39;张三& # 39;;   $ arr[& # 39;年龄# 39;]=& # 39;22 & # 39;;   $ arr[& # 39;性与# 39;]=& # 39;男& # 39;;   $ arr[& # 39;电话# 39;]=& # 39;123456789 & # 39;;   $ arr[& # 39;地址# 39;]=& # 39;上海市浦东新区& # 39;;   var_dump (arr)美元;

输出结果:

数组(5),{,   [“name"]=祝辞,字符串(6),“张三“,   [“age"]=祝辞,字符串(2),“22”,   [“sex"]=祝辞,字符串(3),“男”,   [“phone"]=祝辞,字符串(9),“123456789”,   [“address"]=祝辞,字符串(21),“上海市浦东新区“   以前,}

<强> 2。将arr数美元组进行序列化赋值给美元信息字符串,并在浏览器中输出查看结果;

$ info=序列化(arr);   var_dump ($ info);

输出结果:

字符串(140),“答:5:{:4:“name"销售:6:“张三“;销售:3:“age";销售:2:“22”;销售:3:“sex";销售:3:“男“;销售:5:“phone";销售:9:“123456789”;销售:7:“address";销售:21:“上海市浦东新区“;}“

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

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

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

$ zhangsan=unserialize ($ info);   var_dump()美元zhangsan);

输出结果:

数组(5),{   [“name"]=祝辞,字符串(6),“张三“,   [“age"]=祝辞,字符串(2),“22”,   [“sex"]=祝辞,字符串(3),“男”,   [“phone"]=祝辞,字符串(9),“123456789”,   [“address"]=祝辞,字符串(21),“上海市浦东新区“,   }

<>强PHP序列化反序列化系列化和非系列化函数

昨天网上看到一道面试题,如下:

”类的属性可以序列化后保存到会话中,从而以后可以恢复整个类,这要用到的函数是?”

我记得原来老师说过序列化函数是“serialize",查了下,果不其然,今天记录下,免得忘记。

& lt; PHP ?   aa {class 才能;   ,,,public  a 美元;=,1;   ,,,private  b 美元;=,2;   ,,,protected  c 美元;=,3;   ,   ,,,function  afun () {   ,,,,,return  $ this→一个;   ,,,}   ,,,function  bfun () {   ,,,,,return  $ this→b;   ,,,}   ,,,function  __destruct () {   ,,,,,echo “变量销毁了“;   ,,,}   ,,}   ,   时间=美元才能v  new  aa;   echo 才能;v→美元afun ();   时间=美元才能se 序列化(v)美元;   设置才能(v)美元;,//这里先销毁美元v,这个时候会自动调用析构函数   echo 才能“& lt; hr /祝辞;“;   时间=美元才能v  unserialize (se);,//再反序列化   echo 才能;v→美元bfun ();

看看运行结果

 PHP序列化和反序列化函数怎么用“> </p> <p>如果觉得还不明显,好,我们在改一下代码</p> <p> aa.class。php <br/> </p> <pre类= & lt; php ?   aa {class 才能;   ,,,public  a 美元;=,1;   ,,,private  b 美元;=,2;   ,,,protected  c 美元;=,3;   ,   ,,,function  afun () {   ,,,,,return  & # 39;美元一个的值是:& # 39;。$ this→一个;   ,,,}   ,,,function  bfun () {   ,,,,,return  & # 39; $ b的值是:& # 39;。$ this→b;   ,,,}   以前,,}

a1。php

& lt; php ?   require  & # 39;才能。/demo8.php& # 39;;   Session_start才能();   时间=美元才能v  new  aa ();   美元才能_SESSION [& # 39; v # 39;],=,序列化(v)美元;

PHP序列化和反序列化函数怎么用