首页 >后端开发 >php教程 >如何在 PHP 中反序列化序列化字符串?

如何在 PHP 中反序列化序列化字符串?

Barbara Streisand
Barbara Streisand原创
2024-12-02 20:41:12791浏览

How Can I Deserialize a Serialized String in PHP?

了解序列化和反序列化

您遇到了一个序列化字符串,其表示如下:

a:2:{i:0;s:7:"Abogado";i:1;s:7:"Notario";}

要检索存储在该字符串中的数组,您必须使用unserialize() 函数:

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

此操作将产生以下输出:

Array ( [0] => Abogado [1] => Notario )

手册注释:

  • Be请谨慎,因为 unserialize() 对于错误和 FALSE 值的反序列化都会返回 FALSE。要处理此问题,请将 str 与 serialize(false) 进行比较或捕获发出的 E_NOTICE。
  • 将用户提供的输入传递给 unserialize() 时要保持警惕。这可能会执行恶意代码。考虑使用安全的数据交换格式,例如 JSON(json_decode() 和 json_encode())。

以上是如何在 PHP 中反序列化序列化字符串?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn