0

我得到以下字符串:

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

怎么做?

4

1 回答 1

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

于 2012-07-27T11:07:01.047 回答