Php的序列化与反序列化
1.序列化的概念
序列化是指将复杂的数据类型压缩成一个字符串,反序列化则是将被序列化的数据还原成之前的数据。
PHP中序列化与反序列化的函数分别是:serialize(value), unserialize(str)
如:
<?php //php的序列化与反序列化 //serialize(value) //unserialize(str) $arr = array( ‘name‘=>‘xiaoming‘, ‘sex‘=>‘男‘, ‘age‘=>20 ); $str = serialize($arr); var_dump($str); $arr2 = unserialize($str); var_dump($arr2); ?>
序列化为的结果为:
string(67) "a:3:{s:4:"name";s:8:"xiaoming";s:3:"sex";s:3:"男";s:3:"age";i:20;}"
还原后的结果:
array(3) { ["name"]=> string(8) "xiaoming" ["sex"]=> string(3) "男" ["age"]=> int(20) }
2.序列化的注意点
当数组值中包含双引号,单引号或双引号时,会出现一些问题,可以使用base64_encode()与base64_decode()对数据做编码与解码
如:
$arr = array( ‘name‘=>‘xiao:ming‘, ‘sex‘=>‘男‘, ‘age‘=>20 ); $str = base64_encode(serialize($arr)); var_dump($str); $arr2 = unserialize(base64_decode($str)); var_dump($arr2);
3.对象的序列化
4.序列化的常见的应用
会话中的应用
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。