无法使用反序列化函数从序列化数组中获取数据
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
)
我有序列化数据,我正在使用 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
)