在 PHP 中,内置函数 unserialize() 从 PHP 版本 4 开始可用。在 PHP 7 中,添加了传递允许的类列表的条款。这允许筛选出不受信任的源。unserialze() 函数仅从受信任的类中反序列化数据。
在 PHP 中,序列化意味着生成值的可存储表示形式。这对于存储或传递 PHP 值而不丢失它们的类型和结构很有用。内置的 serialize() 函数用于此目的。
serialize(mixed $value):string
unserialze() 函数从序列化表示中给出一个 PHP 值。从 PHP 7 开始,unserialize() 函数遵循以下格式 -
unserialize(string $data, array $options = [ ]): mixed
$data 参数是要反序列化的序列化字符串。
新引入了 $options 参数。它是以下键的关联数组 -
名称 | 描述 |
---|---|
allowed_classes | 一个应该被接受的类名数组, 或 false 表示不接受任何类, 或 true 接受所有类。 省略此选项等同于将其定义为 true |
max_depth | 取消序列化期间允许的结构的最大深度。 |
请看下面的例子 -
将产生以下输出 -
10
20
20