0
我得到了下面的字符串:preg_match_all谷歌纬度和经度
a:3:{s:3:"lat";s:17:"49.21103723075132";s:3:"lng";s:18:"22.330280542373657";s:4:"zoom";s:2:"17";}
而且我想从它这个获得:
49.21103723075132
和
22.330280542373657
怎么办呢?
我得到了下面的字符串:preg_match_all谷歌纬度和经度
a:3:{s:3:"lat";s:17:"49.21103723075132";s:3:"lng";s:18:"22.330280542373657";s:4:"zoom";s:2:"17";}
而且我想从它这个获得:
49.21103723075132
和
22.330280542373657
怎么办呢?
你不需要正则表达式。它是序列化的字符串。反序列化:
$str = 'a:3:{s:3:"lat";s:17:"49.21103723075132";s:3:"lng";s:18:"22.330280542373657";s:4:"zoom";s:2:"17";}';
$deserialized = unserialize($str);
var_dump($deserialized);
输出为:
array(3) {
["lat"]=>
string(17) "49.21103723075132"
["lng"]=>
string(18) "22.330280542373657"
["zoom"]=>
string(2) "17"
}
所以,你可以访问它作为数组的元素:$deserialized['lat']
,$deserialized['lng']
感谢你很棒,我甚至不知道它是简单 – ariel 2012-07-27 11:50:05