网站建设资讯

NEWS

网站建设资讯

php反序列化数据库 php序列化与反序列化

php中序列化与反序列化

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

站在用户的角度思考问题,与客户深入沟通,找到华坪网站设计与华坪网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:成都网站建设、成都网站设计、企业官网、英文网站、手机端网站、网站推广、申请域名、网页空间、企业邮箱。业务覆盖华坪地区。

serialize() 把变量和它们的值编码成文本形式

unserialize() 恢复原先变量

eg:

结果:a:3:{i:0;s:3:"Moe";i:1;s:5:"Larry";i:2;s:5:"Curly";}

Array ( [0] = Moe [1] = Larry [2] = Curly )

当把这些序列化的数据放在URL中在页面之间会传递时,需要对这些数据调用urlencode(),以确保在其中的URL元字符进行处理:

margic_quotes_gpc和magic_quotes_runtime配置项的设置会影响传递到unserialize()中的数据。

如果magic_quotes_gpc项是启用的,那么在URL、POST变量以及cookies中传递的数据在反序列化之前必须用stripslashes()进行处理:

如果magic_quotes_runtime是启用的,那么在向文件中写入序列化的数据之前必须用addslashes()进行处理,而在读取它们之前则必须用stripslashes()进行处理:

当对一个对象进行反序列化操作时,PHP会自动地调用其__wakeUp()方法。这样就使得对象能够重新建立起序列化时未能保留的各种状态。例如:数据库连接等。

php的序列化和反序列化有什么好处

序列化是将变量转换为可保存或传输的字符串的过程;反序列化就是在适当的时候把这个字符串再转化成原来的变量使用。这两个过程结合起来,可以轻松地存储和传输数据,使程序更具维护性。

PHP中的序列化和反序列化分别通过函数serialize()和unserialize()即可实现。serialize()的参数可以是resource类型外的所有变量类型,最常见的是用来序列化对象,unseialize()将serialize的返回结果作为参数,进行反序列化,得到原对象。

在PHP中,序列化和反序列化很多地方都可以用到!~

例如:数据库连接,序列化数组等等。

php数据库数组反序列化取指定内容

$str = 'a:2:{i:0;b:0;s:8:"bankinfo";a:1:{i:1;a:2{s:6:"bankid";i:1;s:7:"cardnum";s:4:"adda";}}}';

$res = unserialize($str);

echo $res['bankinfo'][1]['cardnum'];

这个数组整个结构是

Array ( 

[0] = false

[bankinfo] = Array (

[1] = Array ( 

[bankid] = 1

[cardnum] = adda 

)

)

)


当前标题:php反序列化数据库 php序列化与反序列化
网站链接:http://cdweb.net/article/dogcspc.html