欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

理解PHP数组的序列化和反序列化

程序员文章站 2022-06-28 13:40:37
当我们想要将数组值存储到数据库时,就可以对数组进行序列化操作,然后将序列化后的值存储到数据库中。其实PHP序列化数组就是将复杂的数组数据类型转换为字符串,方便数组存库操作。对PHP数组进行序列化和反序列化操作,主要就用到两个函数,serialize和unserialize。 一、PHP数组序列化:s ......

 

  当我们想要将数组值存储到数据库时,就可以对数组进行序列化操作,然后将序列化后的值存储到数据库中。其实php序列化数组就是将复杂的数组数据类型转换为字符串,方便数组存库操作。对php数组进行序列化和反序列化操作,主要就用到两个函数,serializeunserialize

一、php数组序列化:serialize

1 $arr = array('php','java','python','c');
2 $result = serialize($arr);
3 echo $result;

运行:

理解PHP数组的序列化和反序列化

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));

运行:

理解PHP数组的序列化和反序列化

ps: unserialize() 是对单一的已序列化的变量进行操作,将其转换回php 的值。