我想使用php将
中包含的所有数组连接成一个我在开头有这个数组:
{
"errors": [
[
{
"id": "login1",
"error": "Invalid"
},
{
"id": "login2",
"error": "Invalid"
},
{
"id": "login3",
"error": "Invalid"
}
],
[],
[
{
"id": "login10",
"error": "Invalid"
},
{
"id": "login11",
"error": "Invalid"
}
]
]
}
我想像这样改变它:
{
"errors": [
{
"id": "login1",
"error": "Invalid"
},
{
"id": "login2",
"error": "Invalid"
},
{
"id": "login3",
"error": "Invalid"
},
{
"id": "login10",
"error": "Invalid"
},
{
"id": "login11",
"error": "Invalid"
}
]
}
我尝试array_push
,array_merge
,array_merge_recursive
我的错误数组填充了多个登录数组,我希望将所有数组都放在一个数组中。
我怎么能这样做?
答案 0 :(得分:2)
首先,您似乎拥有JSON数据,因此您需要json_decode
它。
然后,您似乎需要删除第一级层次结构。循环遍历errors
的子数组并将它们合并在一起。
或许这样的事情:
$errors = [];
foreach($array['errors'] AS $subarray) {
$errors = array_merge_recursive($errors, $subarray);
}
您也可以使用类似array_reduce
的内容来执行此操作。
$errors = array_reduce($array['errors'], function($errors, $subarray) {
return array_merge_recursive($errors, $subarray);
}, []);