按关键位置组合两个数组
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]);
按照逻辑,这些数据是成对的。
我正在尝试从中创建 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]);
按照逻辑,这些数据是成对的。