将多个经度和纬度的字符串转换为2个数组(一个用于经度,一个用于纬度)

时间:2014-07-04 09:59:52

标签: php arrays latitude-longitude

我将通过经度和弦的字符串;如下所示的多边形的纬度值。

[ [ 51.11041991029261, -2.274169921875 ], [ 51.08282186160978, -3.460693359375 ], [ 50.443513052458044, -3.570556640625 ], [ 50.443513052458044, -1.966552734375 ] ]

我需要将该字符串转换为2个数组。 1只有经度值([]的左边的值)和纬度数组([]的右边的值) - 或者无论哪种方式,我总是将它们混淆。

我玩过爆炸和其他一些PHP函数,但我没有运气

1 个答案:

答案 0 :(得分:1)

看起来像JSON,所以......

$json = <<<JSON
[ [ 51.11041991029261, -2.274169921875 ], [ 51.08282186160978, -3.460693359375 ], [ 50.443513052458044, -3.570556640625 ], [ 50.443513052458044, -1.966552734375 ] ]
JSON;

$coords = json_decode($json, true);
$lats   = array_map(function (array $coord) { return $coord[0]; }, $coords);
$lons   = array_map(function (array $coord) { return $coord[1]; }, $coords);

在PHP 5.5 +中:

$lats = array_column($coords, 0);
$lons = array_column($coords, 1);