数组无法从反序列化中通过键获取值。它显示错误 undefined offset ,但数组具有索引调用“1134”。如何获取索引 1134 值?

$original = unserialize('O:8:"stdClass":1:{s:4:"1134";i:1;}');

$result = (array)$original;
print_r ($result); //Array ( [1134] => 1 )

print_r($result["1134"]); //Undefined offset: 1134
print_r($result['1134']); //Undefined offset: 1134
print_r($result[1134]); //Undefined offset: 1134

最佳答案

您必须遍历未序列化的数据,然后将其存储到数组中:

<?php
$original = unserialize('O:8:"stdClass":1:{s:4:"1134";i:1;}');
$arr = [];
foreach($original as $key => $values) {
    $arr[$key] = $values;
}
echo $arr[1134] // outputs 1
?>

输出:- https://3v4l.org/B94OS#v5638

关于反序列化后的PHP数组无法通过键获取值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53003222/

10-11 03:55