【问题标题】:combine two arrays by key position按关键位置组合两个数组
【发布时间】:2016-04-25 23:23:01
【问题描述】:

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

【问题讨论】:

  • 你真的需要保留在输出数组中的原始键吗?
  • 其实不是。我重置它们,然后使用 Marcin 的代码并最终删除了数组的第一维。

标签: php arrays geojson


【解决方案1】:

您可以按 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]);

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

【讨论】:

  • 谢谢马尔辛。你的代码没问题
猜你喜欢
  • 2015-09-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-02-25
  • 1970-01-01
  • 1970-01-01
  • 2023-04-08
  • 2023-03-31
相关资源
最近更新 更多