按关键位置组合两个数组

combine two arrays by key position

我正在尝试从中创建 geoJson:

(48.178, 16.410),(48.175, 16.408),(48.174, 16.414),(48.176, 16.415)

创建数组后,我用 preg_grep 将其一分为二:

Array ( [1] => 16.410 [3] => 16.408 [5] => 16.414 [7] => 16.415 ) 

Array ( [0] => 48.178 [2] => 48.175 [4] => 48.174 [6] => 48.176 ) 

其实我想做的,就是把纬度换成经度。

如何按关键位置组合这些数组? 结果应该是

Array ( [1] => 16.410 [0] => 48.178 [3] => 16.408 [2] => 48.175 ......... ) 

你可以通过 step by 2 进行普通循环并构建新数组:

$out = array();
$count = count($src);
for($i=0; $i<$count; $i+=2) {
    $out[] = $src[$i];
    $out[] = $src[$i+1];
}

请注意,如果您希望保留键,则不应使用数字键,而应使用字符串。而且,事实上,您应该考虑构建多维数组:

    $out[] = array($src[$i], $src[$i+1]);

按照逻辑,这些数据是成对的。