PHP unserialize() 函数用于将序列化变量转换回 PHP 值,是PHP的反序列化函数。
语法
unserialize(data, options)
参数
data | 必填 指定反序列化字符串。 |
options | 可选 指定要提供给函数的选项,作为关联数组。可以是应该接受的类名数组, false 表示不接受类, true 表示接受所有类。默认为true。 |
返回值
返回转换后的值,可以是bool、int、float、string,数组或对象。如果传递的字符串不可反序列化,则返回 false 并发出 E_NOTICE。
异常
对象可能会在其反序列化处理程序中抛出 Throwables 异常。
示例: unserialize() 示例
下面的示例显示了unserialize()函数的用法。
<?php
//定义一个数组
$arr = array(
"Hello",
array(10, 20),
"World"
);
//序列化数组
$str = serialize($arr);
//显示结果
echo $str."\n";
//反序列化字符串
$newStr = unserialize($str);
//显示结果
print_r($newStr);
?>
上述代码的输出将是:
a:3:{i:0;s:5:"Hello";i:1;a:2:{i:0;i:10;i:1;i:20;}i:2;s:5:"World";}
Array
(
[0] => Hello
[1] => Array
(
[0] => 10
[1] => 20
)
[2] => World
)