2012-07-27 164 views
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 

怎么办呢?

回答

1

你不需要正则表达式。它是序列化的字符串。反序列化:

$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']

+0

感谢你很棒,我甚至不知道它是简单 – ariel 2012-07-27 11:50:05