【发布时间】:2018-04-30 09:57:19
【问题描述】:
我已将位置信息存储在我的用户表中。现在我想unserialize 那个数据。请参阅下面的代码:
//$seri = $getUser['location_info'];
$seri = 'a:8:{s:4:"city";s:6:"Novska";s:6:"region";s:27:"Sisacko-Moslavacka Zupanija";s:7:"country";s:2:"HR";s:12:"country_name";s:7:"Croatia";s:14:"continent_code";s:2:"EU";s:10:"ip_address";s:10:"5.43.160.0";s:13:"currency_code";s:3:"HRK";s:15:"currency_symbol";s:12:"kn";}';
$unseri = unserialize($seri);
var_dump($unseri); exit; //Output: bool(false)
反序列化时我得到了bool(false) 请帮助
编辑:我需要国家名称Croatia。如果上面的代码是不可能的,请您分享我获取国家名称的替代解决方案。
【问题讨论】:
-
根据documentation:'如果传递的字符串不是不可序列化的,则返回 FALSE 并发出 E_NOTICE。'。这就是你的全部代码吗?
-
对该序列化数据的突变可能会破坏它。
-
你手动滚动那个序列化?
s:12:"kn"s:2:"kn" 即可正常工作。 -
我已经检查过了。
"kn"看着kn所以长度是 12。 -
@Developer - 这些是字符的 HTML 编码版本,你得到的序列化不是那个。您实际上在那里编码了 2 个字符的字符串
kn。打开错误报告,我打赌你会收到unserialize(): Error at offset 257 of 266 bytes
标签: php arrays serialization