工具介绍
工具简介
PHP 对象序列化,是通过 serialize()
函数来操作的,该函数将产生一个可存储的字符串,此字符串包含了表示该对象的字节流,可以存储于任何地方。我们把对象转换成可存储的值的过程,称为序列化。
而对于 PHP 反序列化,是 PHP 序列化的反向操作(逆操作),即把可存储的值,还原为对象原来的表示。本工具提供了对已经序列化的对象进行反序列化的功能。
关于 PHP 反序列化返回值的说明
PHP 反序列化执行后,其返回的是转换之后的值,可为
integer
、float
、string
、array
或object
。如果待操作的字符串不可反序列化,将返回
false
,并产生一个E_NOTICE
警告信息。那么,如果反序列化了
false
的值,或者在过程中发生了错误,这两种情况都会返回false
。为了区分是错误导致的
false
还是本来就是反序列化false
,我们可以通过比较待操作的字符串和serialize(false)
是否一致,或者捕捉E_NOTICE
警告来判断是哪种情况。
反序列化示例
输入:
a:3:{s:4:"tool";s:21:"PHP反序列化工具";s:3:"url";s:36:"https://www.dute.org/php-unserialize";s:6:"author";s:15:"独特工具箱";}
输出:
array (
'tool' => 'PHP反序列化工具',
'url' => 'https://www.dute.org/php-unserialize',
'author' => '独特工具箱'
)
可以点击上面「示例数据」按钮,查看实际效果。