0
点赞
收藏
分享

微信扫一扫

PHP反序列化基础知识

PHP反序列化

反序列化的作用

为了有效的存储或传输数据,同时不丢失其类型和结构,经常需要序列化和反序列化的函数对数据进行处理
序列化:返回字符串,此字符串包含了标识value的字节流,可以存储于任何地方
反序列化:对单一的已序列化的变量进行操作,将其转换回来的值
这两个过程结合起来,可以轻松地存储和传输数据,时程序更具有维护性
在PHP语言中常见的系列化和反系列化方式主要有:serialize、unserialize、json_encode、json_decode

反序列化函数

serialize()--序列化

PHP反序列化基础知识_反序列化

PHP反序列化基础知识_调用方法_02

O=object 

4=len(Test)

3=$a,$b,$c

{

s:len(a):a; s:len(publica):publica;

$a="publica"

s:len(%00*%00b):*b; len(protectedb):protectdeb;

$b="protectedb"

s:len(%00Test%00c):Testc; len(privatec):privatec;

$c="privatec"

}

public——a

protected——%00*%00b

private——%00Test%00c

unserialize()--反序列化

PHP反序列化基础知识_调用方法_03

魔法函数

_construct()和_destruct()

_construct()对象初始化

_destruct()对象销毁

PHP反序列化基础知识_调用方法_04

PHP反序列化基础知识_序列化_05

_get()和_set()

_get()获取对象不存在的属性或无法访问的属性时调用

_set()设置对象不存在的属性或无法访问的属性时调用

PHP反序列化基础知识_反序列化_06

PHP反序列化基础知识_序列化_07

  

_isset()和_unset()

_isset()调用方法isset()方法决断不可访问的类属性时调用

_umset()调用方法unset()方法删除不可访问的类属性时调用

PHP反序列化基础知识_调用方法_08

PHP反序列化基础知识_反序列化_09

 

PHP反序列化基础知识_调用方法_10

_sleep()和_wakeup()

_sleep()调用searialize()方法时调用,返回值为数组,标识需要序列化的数据项

_wakeup()调用unsearialize()方法时调用

PHP反序列化基础知识_序列化_11

_toString()

PHP反序列化基础知识_反序列化_12



免责声明:全网优质文章转载,以作为收藏留档之用,文章均不代表本人立场!
请尊重原创作者,如需转载请标注原创作者链接



举报

相关推荐

0 条评论