理解PHP数组的序列化和反序列化
Posted 路虽远,行则必至
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了理解PHP数组的序列化和反序列化相关的知识,希望对你有一定的参考价值。
当我们想要将数组值存储到数据库时,就可以对数组进行序列化操作,然后将序列化后的值存储到数据库中。其实PHP序列化数组就是将复杂的数组数据类型转换为字符串,方便数组存库操作。对php数组进行序列化和反序列化操作,主要就用到两个函数,serialize和unserialize。
一、PHP数组序列化:serialize
1 $arr = array(\'PHP\',\'Java\',\'Python\',\'C\'); 2 $result = serialize($arr); 3 echo $result;
运行:
a:表示整体的数据类型,这里是array;
a:4中的4:表示数组元素的个数;
i:表示int,整型;
0:表示数组元素的下标;
s:表示string,即数组值的类型;
s:3中3:表示数组值的长度。
ps: serialize() 返回字符串,此字符串包含了表示 value 的字节流,可以存储于任何地方。这有利于存储或传递 PHP 的值,同时不丢失其类型和结构。
二、PHP反序列化:unserialize
1 $arr = array(\'PHP\',\'Java\',\'Python\',\'C\'); 2 $result = serialize($arr); 3 var_dump(unserialize($result));
运行:
ps: unserialize() 是对单一的已序列化的变量进行操作,将其转换回PHP 的值。
以上是关于理解PHP数组的序列化和反序列化的主要内容,如果未能解决你的问题,请参考以下文章