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
相关产品推荐
相关产品推荐

