Я пытаюсь создать 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 ......... )
Вы можете сделать обычный цикл с шагом 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]);
как по логике эти данные сопряжены.
Других решений пока нет …