序列化是将变量转换为可保存或传输的字符串的过程;反序列化就是在适当的时候把这个字符串再转化成原来的变量使用。这两个过程结合起来,可以轻松地存储和传输数据,使程序更具维护性。

serialize()函数(序列化)产生一个可存储的值的表示。
serialize()返回字符串,此字符串包含了表示value的字节流,可以存储于任何地方。这有利于存储或传递 PHP 的值,同时不丢失其类型和结构,比较有用的地方就是将数据存入数据库或记录在文件中的时候。
serialize()可处理处资源类型外所有的类型,也可以序列化对象
而unserialize()(反序列化)就是把序列化的字符串转换回PHP的值。

<?php
$array = [
    'name' => 'xuxiaoke',
    'website' => 'www.xuxiaoke.com'
];
//序列化数组
$a = serialize($array);
echo $a;
unset($array);

//反序列化
$b = unserialize($a);
print_r($b);
?>

//输出结果
a:2:{s:4:"name";s:8:"xuxiaoke";s:7:"website";s:16:"www.xuxiaoke.com";}
Array ( [name] => xuxiaoke [website] => www.xuxiaoke.com )