PHP 变量处理函数

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";}