You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PHP提取括号内坐标数据:将纬度与经度分离至独立变量

提取坐标字符串中的纬度和经度

针对你提供的坐标字符串,可以通过正则表达式精准匹配每组坐标,再分别收集纬度和经度,实现代码如下:

$coordinat = "(40.95213474740299, -74.12069452584228),(40.92801571820852, -74.13065088570556),(40.923735615725754, -74.1521085578247),(40.92801571820852, -74.1660131293579),(40.93566733176708, -74.17562616646728),(40.94980103272796, -74.16120661080322),(40.958616855359615, -74.14472711861572)";

// 匹配每组(纬度, 经度)格式的内容
preg_match_all('/\(([^,]+),\s*([^)]+)\)/', $coordinat, $matches);

// 提取纬度数组并转为逗号分隔字符串
$latitude = implode(', ', $matches[1]);
// 提取经度数组并转为逗号分隔字符串
$longitude = implode(', ', $matches[2]);

// 输出结果
echo $latitude . PHP_EOL;
echo $longitude . PHP_EOL;

代码说明

  • 正则表达式/\(([^,]+),\s*([^)]+)\)/:
    • \( 和 \) 匹配坐标组的左右括号
    • ([^,]+) 捕获第一个值(纬度),匹配除逗号外的所有字符
    • \s* 匹配纬度和经度之间的任意空白字符(兼容可能的空格差异)
    • ([^)]+) 捕获第二个值(经度),匹配除右括号外的所有字符
  • preg_match_all 会把所有匹配到的纬度存入$matches[1],经度存入$matches[2]
  • 最后用implode将数组转为你需要的逗号分隔字符串格式

内容的提问来源于stack exchange,提问作者Emre Çelik

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.29 09:25:28