PHP serialize() 函数用于将php变量序列化为可存储的表示形式。这对于存储或传递 PHP 值而不丢失其类型和结构非常有用。
要将序列化字符串再次转换为 PHP 值,可以使用unserialize()函数。
语法
serialize(value)
参数
value | 必填。 指定要序列化的值。该函数可以处理除资源类型和某些对象之外的所有类型。可以serialize()包含对其自身引用的数组。序列化的数组/对象内的循环引用也将被存储。任何其他引用都将丢失。 |
返回值
返回包含value 的字节流表示形式的字符串可以存储在任何地方。例如我们常将php对象序列化为redis可以存储的字符串。
注意:返回的字符串是一个二进制字符串,可能包含空字节,需要存储和处理像这样。例如,serialize() 输出通常应存储在数据库中的 BLOB 字段中,而不是 CHAR 或 TEXT 字段中。
示例:serialize()示例
下面的示例显示了serialize()函数的用法。
<?php
//定义一个数组
$arr = array(
"Hello",
array(10, 20),
"World"
);
//序列化数组
$str = serialize($arr);
//显示结果
echo $str;
?>
上述代码的输出将是:
a:3:{i:0;s:5:"Hello";i:1;a:2:{i:0;i:10;i:1;i:20;}i:2;s:5:"World";}