unserialize函数并没有返回相同格式的返回字符串



我正在从数据库中获取序列化数组,然后尝试取消序列化。但在这里,它以相同的格式返回这个字符串。我有这个格式的序列化数组。

s:33:"a:2:{i:0;s:2:"80";i:1;s:3:"112";}";

这就是我试图将其取消序列化的方式。

$industries = unserialize($industries);

但在这里,这个功能不起作用。任何有关这方面的指导方针都将不胜感激。

您的字符串被序列化两次,

s:33:"a:2:{i:0;s:2:"80";i:1;s:3:"112";}";

是一个编码的字符串(有33个字符(,所以unserialize()这会给你另一个字符串,它是

a:2:{i:0;s:2:"80";i:1;s:3:"112";}

你还需要unserialize()。。。

$industries = 's:33:"a:2:{i:0;s:2:"80";i:1;s:3:"112";}";';
$industries = unserialize($industries);
print_r(unserialize($industries));

给予。。。

Array
(
[0] => 80
[1] => 112
)

最新更新