首页 > 解决方案 > 将变量中的值保存到数组中

问题描述

我有一个包含坐标的长字符串变量,我想根据 Lat 和 Lon 将每个坐标保存在数组中的单独单元格中。例如。以下字符串:

string = "(33.110029967689556, 35.60865999564635), (33.093492845160036, 35.63955904349791), (33.0916232355565, 35.602995170206896)";

我要这个:

arrayX[0] = "33.110029967689556";
arrayX[1] = "33.093492845160036";
arrayX[2] = "33.0916232355565";
arrayY[0] = "35.60865999564635";
arrayY[1] = "35.63955904349791";
arrayY[2] = "35.602995170206896";

有人有想法吗?

谢谢

标签: phparraysregexstringlatitude-longitude

解决方案


我的建议,这里的工作示例:https ://3v4l.org/W99Uu

$string = "(33.110029967689556, 35.60865999564635), (33.093492845160036, 35.63955904349791), (33.0916232355565, 35.602995170206896)";

// Split by each X/Y pair
$array = explode("), ", $string);

// Init result arrays
$arrayX = array();
$arrayY = array();

foreach($array as $pair) {
    // Remove parentheses
    $pair = str_replace('(', '', $pair);
    $pair = str_replace(')', '', $pair);

    // Split into two strings
    $arrPair = explode(", ", $pair);

    // Add the strings to the result arrays
    $arrayX[] = $arrPair[0];
    $arrayY[] = $arrPair[1];
}

推荐阅读