我在数据库的一个字段中有这些数据:
a:4:{i:15;s:0:"";i:26;s:0:"";i:33;s:0:"";i:1004;a:1:{s:12:"Special Hash";s:33:"1b44dxrLsCgKQiiVNMRVN5rmfXg84FEds";}}
我需要从中得到这个:
1b44dxrLsCgKQiiVNMRVN5rmfXg84FEds
(s:33,其大小可能因不同的表格而异,例如可以是s:34)
已经尝试过:
$all=json_decode($this);
$hash=$all['Special Hash'];
$hash=$all->{'Special Hash']};
但没有成功
感谢Terr的第一个回答(由Hanky웃Panky编辑),我能够通过以下方式获取数据:
echo unserialize($mydata)['1004']['Special Hash'];
答案 0 :(得分:2)
您所看到的不是JSON,而是使用serialize()的PHP序列化数组。您可以通过unserialize()
放置该字符串来访问原始数组$string='a:4:{i:15;s:0:"";i:26;s:0:"";i:33;s:0:"";i:1004;a:1:{s:12:"Special Hash";s:33:"1b44dxrLsCgKQiiVNMRVN5rmfXg84FEds";}}';
print_r(unserialize($string));
<强>输出:强>
Array
(
[15] =>
[26] =>
[33] =>
[1004] => Array
(
[Special Hash] => 1b44dxrLsCgKQiiVNMRVN5rmfXg84FEds
)
)
<强> Fiddle 强>