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

如何将逗号分隔的经纬度字符串转换为PHP关联数组?

问题

我正在处理多维数组中的单个数组值,当输出$users['ride_from']时,得到结果为32.9697, -96.80322。请问能否将其转换为类似$point1那样包含lat和long元素的关联数组?相关代码如下:

foreach ($usersInfo as $key=> $users){ 
    $ridefrom = $users['ride_from']; 
    $rideto = $users['ride_to'];//this is from lat long 
    $point1 = array("lat" => "48.8666667", "long" => "2.3333333"); // Paris (France) 
}
解决方案

当然可以啦!你只需要把逗号分隔的坐标字符串拆分成两个部分,再分别赋值给关联数组的lat和long键就行。这里给你几种实用的方法:

方法一:直接用explode()拆分

这是最直观的方式,以逗号加空格作为分隔符把字符串拆成数组,再提取对应的值:

foreach ($usersInfo as $key=> $users){ 
    $ridefrom = $users['ride_from']; 
    // 拆分坐标字符串
    $coords = explode(', ', $ridefrom);
    // 转换成目标关联数组
    $rideFromPoint = array(
        "lat" => $coords[0],
        "long" => $coords[1]
    );

    // 同理处理ride_to
    $rideto = $users['ride_to'];
    $coordsTo = explode(', ', $rideto);
    $rideToPoint = array(
        "lat" => $coordsTo[0],
        "long" => $coordsTo[1]
    );

    $point1 = array("lat" => "48.8666667", "long" => "2.3333333"); // Paris (France) 
}

小提示:如果你的坐标字符串里逗号后面没有空格,记得把explode(', ', ...)改成explode(',', ...),避免拆分出带空格的坐标值哦。

方法二:用list()简化赋值

结合list()可以直接把拆分后的值赋值给变量,代码看起来更简洁:

foreach ($usersInfo as $key=> $users){ 
    // 处理ride_from
    list($latFrom, $longFrom) = explode(', ', $users['ride_from']);
    $rideFromPoint = array(
        "lat" => $latFrom,
        "long" => $longFrom
    );

    // 处理ride_to
    list($latTo, $longTo) = explode(', ', $users['ride_to']);
    $rideToPoint = array(
        "lat" => $latTo,
        "long" => $longTo
    );

    $point1 = array("lat" => "48.8666667", "long" => "2.3333333"); // Paris (France) 
}

额外优化:兼容不规范的坐标格式

如果担心坐标字符串格式不统一(比如有时有空格有时没有,或者有多余空格),可以先清理字符串再拆分:

// 先去掉首尾空格,再按逗号或任意空白字符拆分
$coords = preg_split('/[,\\s]+/', trim($users['ride_from']));

这样不管是"32.9697,-96.80322"还是"32.9697 , -96.80322"都能正确拆分出干净的坐标值。

内容的提问来源于stack exchange,提问作者new developer

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 10:10:04