按键位置组合两个数组

时间:2016-04-25 23:23:02

标签: php arrays geojson

我试图从中创建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 ......... ) 

1 个答案:

答案 0 :(得分:1)

您可以逐步执行普通循环并构建新数组:

$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]);

通过逻辑将这些数据配对。