PHP序列化序列化方法的详细解决方案
PHP使用两种功能,序列化和序列化,序列化和反序列化的数据。
格式化字符串数组序列化为有序
序列化数组阵列恢复
例如:
用户名=阵列('moe,拉里,'curly);
用户名=连载(美元的走狗);
回声';
print_r(用户名);
回声';
print_r(序列化(用户名));
结果uff1a
答:3:{ i:0;s:3;i;i:1;s:5:拉里;i:2;s:5: ;}
数组({ 0 } { 1 } >拉里> { 2 } >卷)
注意,当数组值包含双引号、单引号、冒号或中文字符时,它们在序列化后可能会被打乱。
对base64_encode和base64_decode两函数可以用来解决乱码问题。
例如:
用户名=阵列('moe,拉里,'curly);
用户名= base64_encode(连载(用户名));
为用户=(base64_decode序列化(用户名));
这不会是代码级的问题,但是Base64编码增加了存储字符串的长度。
从上面,我们可以总结它自己的序列化和反序列化功能之一,如下所示:
功能my_serialize($ obj_array){
返回base64_encode(gzcompress(连载($ obj_array)));
}
/ /反序列化
功能my_unserialize($str){
返回序列化(gzuncompress(base64_decode($str)));
}
以上就是告诉你PHP如何序列化和序列化数据,并遇到反序列化,混淆代码或格式被打乱的原因和解决办法,希望本文能帮助你学习。