当前位置:  首页>> 技术小册>> PHP8入门与项目实战(3)

数组的序列化(serialize)用来将数组的数据转换为字符串,以方便传递和数据库的存储。

与之相对应的操作就是反序列化(unserialize),把字符串数据转换为数组加以使用。

数组的序列化主要通过serialize()函数来完成。字符串的反序列化主要通过unserialize()函数来完成。

下面通过实例介绍serialize()函数和unserialize()函数的使用方法和技巧。

【例6.25】

  1. <?php
  2. $arr = array('王小明','李丽丽','方芳芳','刘小帅','张大勇','张明明');
  3. $str = serialize($arr);
  4. echo $str."<br/><br/>";
  5. $new_arr = unserialize($str);
  6. print_r($new_arr);
  7. ?>

运行结果如图6-34所示。

serialize()和unserialize()两个函数的使用比较简单,但是通过这样的方法对数组数据的存储和传递将会十分方便。比如,可以直接把序列化之后的数组数据存放在数据库的某个字段中。在使用时再通过反序列化进行处理。

补充:

数组的合并与联合的区别是什么?
对数组的合并使用array_merge()函数,两个数组的元素可以合并为一个数组的元素。而数组的联合是指两个一维数组(一个作为关键字,一个作为数组元素值)联合成为一个新的联合索引数组。

如何快速清空数组?
在PHP中,快速清空数组的方法如下:

  1. arr=array() //理解为重新给变量赋一个空的数组
  2. unset($arr) //这才是真正意义上的释放,将资源完全释放