0

在 PHP 中,我有一个包含 lat/lng 的字符串,例如:(38.889373, -77.00279599999999)

我想提取第一个数字(纬度),返回38.889373. 另外,我想提取第二个数字(lng),返回-77.00279599999999.

正则表达式每次都踢我的屁股。帮助表示赞赏!

4

2 回答 2

0
$string = '(38.889373, -77.00279599999999)';
//  $string = str_replace('(','',$string);
//  $string = str_replace(')','',$string);
$string = str_replace(array(')','('),'',$string);


$string = explode(',',$string);

for($i = 0; $i < count($string); $i++) {
   echo $string[$i];
}
于 2013-09-15T22:13:14.630 回答
0

尽管每个人都提出了建议,但我真的认为正则表达式是最简单的方法。我相信我们可以假设每个字符串/行只有两个数字(纬度和对数)。

preg_match_all("/[\d.-]+/", $str, $matches);

对数组(如果有多个纬度/经度集)在$matches[0]. 然后你可以使用array_chunk($matches[0], 2).

于 2013-09-15T22:17:52.390 回答