如何在php中使用serialize()与unserialize()函数

介绍

今天就跟大家聊聊有关如何在php中使用serialize()与unserialize()函数,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

序列化生成一个值的存储表示

序列化——产生一个可存储的值的表示
非系列化,创建一个php值存储表示
非系列化,从已存储的表示中创建php的值
序列化,翻译过来叫“连载,使连续”,通常称它为“序列化”

这个函数很好用,特别是和非系列化一起配合使用
我觉得比较有用的地方就是将数据存入数据库或记录在文件中的时候
当然这种数据必须是比较复杂的(不复杂也不需要序列化了,我觉得起码得是一个一数组),而且是数据库中的非“索引或主键”,当然最好这个数据库字段在系统中和任何搜索程序无关,当然序列化后的数据其实还是能够搜索的,因为具体的数据并没有被加密或改变

& lt; ?php

//简单一点的
$数组=数组();
美元数组(& # 39;关键# 39;]=& # 39;网站# 39;;
美元数组(& # 39;价值# 39;]=& # 39;www.isoji.org& # 39;;
$=序列化(数组)美元;
回声一美元;
设置(数组)美元;
$一个=unserialize(美元);
print_r(美元);

//声明一个类
类狗{
var美元名称;
var时代美元;
var所有者美元;
函数狗($ in_name=皍nnamed", $ in_age=?“, $ in_owner=皍nknown") {
$ this→名称=$ in_name;
$ this→年龄=$ in_age;
$ this→所有者=$ in_owner;
}
函数getage () {
返回($ this→年龄* 365);
}

函数getowner () {
返回($ this→所有者);
}

函数getname () {
返回($ this→名称);
}
}
//实例化这个类
$ ourfirstdog=新狗(“Rover" 12“丽莎和Graham");
//用序列化函数将这个实例转化为一个序列化的字符串
$ dogdisc=序列化($ ourfirstdog);
打印dogdisc美元;//美元ourfirstdog已经序列化为字符串O: 3:“dog": 3: {: 4:“name"销售:5:“Rover";销售:3:“age";我:12;销售:5:“称“;销售:15:“丽莎和Graham";}
打印& # 39;& lt; BR> & # 39;;
/*
在这里你可以将字符串dogdisc美元存储到任何地方如会话cookie,数据库,php文件
*/
//我们在此注销这个类
设置($ ourfirstdog);
/*还原操作*/
/*
在这里将字符串dogdisc美元从你存储的地方读出来如会话cookie,数据库,php文件
*/

//我们在这里用unserialize()还原已经序列化的对象
宠物美元=unserialize (dogdisc美元);//此时美元的宠物已经是前面ourfirstdog美元的对象了
//获得年龄和名字属性
老=宠物→美元getage ();
$ name=$宠物→getname ();
//这个类此时无需实例化可以继续使用,而且属性和值都是保持在序列化之前的状态
打印“第一狗叫名字,以前old<美元;br>“
打印& # 39;& lt; br> & # 39;;
?在

看完上述内容,你们对如何在php中使用serialize()与unserialize()函数有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注行业资讯频道,感谢大家的支持。

如何在php中使用serialize()与unserialize()函数