📜  php 数组序列化 - PHP (1)

📅  最后修改于: 2023-12-03 15:03:42.536000             🧑  作者: Mango

PHP 数组序列化

在 PHP 中,数组序列化是将一个数组转换为字符串的过程。序列化后的字符串可以在不丢失原始数据结构的情况下传输或存储。PHP 中,serialize() 函数和 unserialize() 函数用于数组序列化和反序列化。

serialize() 函数

serialize() 函数将一个数组转换为字符串。函数语法如下:

string serialize(mixed $value)

参数 $value 是要序列化的值,可以是任何 PHP 数据类型。serialize() 函数返回一个包含序列化后的字符串的值。

示例:

$myArray = array('apple', 'orange', 'banana');
$serializedStr = serialize($myArray);
echo $serializedStr;

输出结果:

a:3:{i:0;s:5:"apple";i:1;s:6:"orange";i:2;s:6:"banana";}

这是一个包含三个元素的数组序列化字符串。在这个字符串中,a:3 表示这是一个三个元素的数组;i:N 表示这个元素是一个整数型的索引;s:N 表示这个元素是一个字符串,N 表示字符串的长度。

unserialize() 函数

unserialize() 函数将一个序列化字符串转换回一个数组。函数语法如下:

mixed unserialize(string $str)

参数 $str 是要反序列化的字符串。unserialize() 函数返回包含反序列化后的数组的值。

示例:

$serializedStr = 'a:3:{i:0;s:5:"apple";i:1;s:6:"orange";i:2;s:6:"banana";}';
$myArray = unserialize($serializedStr);
print_r($myArray);

输出结果:

Array
(
    [0] => apple
    [1] => orange
    [2] => banana
)

这个数组与序列化前的数组相同。

总结

在 PHP 中,使用 serialize() 函数和 unserialize() 函数可以方便地将一个数组序列化为字符串或将一个字符串反序列化为数组。这对于数据存储和传输是非常有用的。