我有一个问题,我正在开发的API,返回纬度/经度坐标数组。为了不破坏应用端的解析器,我需要数据以统一嵌套数组的形式返回,如下所示:
{
coordinates: [
[
-88.451,
41.41
],
[
-85.123,
40.10
],
[
-59.451,
42.42
],
[
-89.124,
44.10
]
]
}
但是由于某些原因,我提取的数据偶尔会嵌套到这样的组中:
{
coordinates: [
[
-88.451,
41.41
],
[
-85.123,
40.10
],
[
[
-59.451,
42.42
],
[
-89.124,
44.10
]
],
]
}
如果你有一个好方法把这些嵌套数组合并成一组统一的嵌套数组[[lat,lon],[lat,lon]]我将永远感激不尽。
多谢谢,Rob
$myarray = [
[
-88.451,
41.41
],
[
-85.123,
40.10
],
[
-59.451,
42.42
],
[
-89.124,
44.10
]
];
function contains_array($array) {
foreach ($array as $val) {
if (is_array($val)) {
return true;
}
}
return false;
}
function array_flatten($array, $return) {
foreach ($array as $key => $value) {
if (is_array($value) && contains_array($value)) {
$return = array_flatten($value, $return);
} else {
$return[$key] = $value;
}
}
return $return;
}
$res = array_flatten($myarray, array());
var_dump($res);