PHP序列化序列化方法的详细解决方案

PHP序列化序列化方法的详细解决方案
经常看到一些配置文件里面存储的格式与一些类似的变量的名称和值,实际上是一个过程的序列化,当需要使用数据库将是一个反序列化过程中,是使用字符串,然后恢复原来的数据结构。让我们谈谈如何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如何序列化和序列化数据,并遇到反序列化,混淆代码或格式被打乱的原因和解决办法,希望本文能帮助你学习。

tag:序列化方法解决方案详细电脑软件

相关内容