这是什么字符串?如何反序列化此字符串?

-1 php string serialization deserialization

这是什么字符串?我如何反序列化并从中获取数组?

a:2:{i:0;s:7:"Abogado";i:1;s:7:"Notario";}
Run Code Online (Sandbox Code Playgroud)

Riz*_*123 5

这是一个序列化的字符串.您可以使用此函数对其进行反序列化:unserialize(),如下所示:

$str = 'a:2:{i:0;s:7:"Abogado";i:1;s:7:"Notario";}';
print_r(unserialize($str));
Run Code Online (Sandbox Code Playgroud)

输出:

Array ( [0] => Abogado [1] => Notario )
Run Code Online (Sandbox Code Playgroud)

边注:

手册中的引用:

警告: 如果出现错误并且反序列化序列化的FALSE值,则返回FALSE.通过比较str与serialize(false)或捕获已发布的E_NOTICE,可以捕获这种特殊情况.

警告: 不要将不受信任的用户输入传递给unserialize().由于对象实例化和自动加载,反序列化可能导致代码被加载和执行,恶意用户可能能够利用它.如果需要将序列化数据传递给用户,请使用安全的标准数据交换格式,如JSON(通过json_decode()和json_encode()).