我有一个从数据库中获取的字符串,它在列中保存为值,如下所示:
a:6:{s:4:"host";s:8:"somehost";s:4:"user";s:8:"someuser";s:4:"pass";s:8:"somepass";s:3:"enc";b:0;s:4:"port";s:3:"xxx";s:5:"buggy";b:0;}
这就是我得到的,但我需要在这样的PHP数组中使用它:
array(6) { ["host"]=> string(8) "somehost" ["user"]=> string(8) "someuser" ["pass"]=> string(8) "somepass" ["enc"]=> bool(false) ["port"]=> string(3) "xxx" ["buggy"]=> bool(false) }
它是一个旧系统,他们如上所述保存这些数据,但现在我需要阅读它并且我不知道如何处理它。很奇怪它还可以节省每个字段的长度(就像它们保存数组一样)。 PHP中有没有办法转换它?我检查了数据库,字段的类型是varchar。非常感谢你
答案 0 :(得分:1)
这必然会重复,但如果标题中没有unserialize()
或serialize()
则很难找到,但这是serialize()
的数组:
print_r(
unserialize('a:6:{s:4:"host";s:8:"somehost";s:4:"user";s:8:"someuser";s:4:"pass";s:8:"somepass";s:3:"enc";b:0;s:4:"port";s:3:"xxx";s:5:"buggy";b:0;}')
);
收率:
Array
(
[host] => somehost
[user] => someuser
[pass] => somepass
[enc] =>
[port] => xxx
[buggy] =>
)