无法使用反序列化函数从序列化数组中获取数据

Could not get data from serialized array using unserialize function

我有序列化数据,我正在使用 PHP 反序列化功能,它对我不起作用。我不知道这个字符串有什么问题。这就是我的序列化数据的样子。我的 PHP 知识有限,所以我无法找出此数据中的问题。谁能帮我解决这个问题。

s:73:"a:5:{i:0;s:4:"8941";i:1;s:4:"8939";i:2;s:4:"8942";i:3;s:4:"8946";i:4;s:4:"8950";}";

您有一个序列化的 string,其中包含一个序列化的 array字符串长度是81而不是73

s:81:" 第一个和最后一个引号之间的字符,在示例中有 81"

$string = 's:81:"a:5:{i:0;s:4:"8941";i:1;s:4:"8939";i:2;s:4:"8942";i:3;s:4:"8946";i:4;s:4:"8950";}";';
$result = unserialize($string);

产生序列化的数组:

a:5:{i:0;s:4:"8941";i:1;s:4:"8939";i:2;s:4:"8942";i:3;s:4:"8946";i:4;s:4:"8950";}

反序列化:

$array = unserialize($result);

生成数组:

Array
(
    [0] => 8941
    [1] => 8939
    [2] => 8942
    [3] => 8946
    [4] => 8950
)