本篇文章主要给大家介绍php数组序列化和反序列化的相关知识。
php序列化在我们实际项目运行过程中是一种非常常见的操作。比如当我们想要将数组值存储到数据库时,就可以对数组进行序列化操作,然后将序列化后的值存储到数据库中。其实php序列化数组就是将复杂的数组数据类型转换为字符串,这样就方便数组存库操作。
我们对php数组进行序列化和反序列化操作,主要就用到两个函数,serialize和unserialize。
一、php数组序列化:serialize
<?php$data=['php','html','java','python'];echo serialize($data);
这里我们创建了一个简单的数组变量$data,然后我们通过serialize函数对这个数组进行序列化操作。
echo出来的结果如下:
a:4:{i:0;s:3:"php";i:1;s:4:"html";i:2;s:4:"java";i:3;s:6:"python";}
我们再给这段序列化后的数据进行解释,方便新手朋友们了解学习。
a:表示整体的数据类型,这里是array;
a:4中的4:表示数组元素的个数;
i:表示int,整型;
0:表示数组元素的下标;
s:表示string,即数组值的类型;
s:3中3:表示数组值的长度。
注:serialize() 返回字符串,此字符串包含了表示 value 的字节流,可以存储于任何地方。这有利于存储或传递 php 的值,同时不丢失其类型和结构。
二、php反序列化:unserialize
<?php$data=['php','html','java','python'];$str=serialize($data);var_dump(unserialize($str));
如果我们想要将序列化后的数据转换为数组,就需要用到unserialize函数。
如上诉代码,我们将$str变量反序列化后的结果如下图:
注:unserialize() 是对单一的已序列化的变量进行操作,将其转换回php 的值。
那么本篇文章就介绍了关于php数组序列化和反序列化的操作。想要了解更多php知识,可以关注的php视频教程。
以上就是什么是php数组序列化和反序列化?(图文+视频)的详细内容。
