我有两个不同长度的嵌套数组。我想根据第一个数组制作第二个数组的长度,请参阅下面的示例以了解情况。只需删除第一个数组中不存在的所有项目。有时第二个数组比第一个数组有更多的值,在这种情况下我的树结构中断了。这些数组是嵌套数组,所以简单的 array_slice 不起作用。
这是数组的结构。
第一个数组
"1": {
"id": "1",
"username": "username",
"children": [
{
"id": "-1",
"username": "NULL",
"children": [
{
"id": "-1",
"username": "NULL",
"children": [
{
"id": "-1",
"username": "NULL",
"children": []
}
]
}
]
}
]
}
第二阵列
"157": {
"id": "157",
"username": "test1",
"children": [
{
"id": "158",
"username": "test1",
"children": [
{
"id": "159",
"username": "test2",
"children": [
{
"id": "160",
"username": "test3",
"children": []
},
{
"id": "160",
"username": "KICK ME BECAUSE I M NOT EXIST IN FIRST ARRAY",
"children": []
}
]
}
]
},
{
"id": "160",
"username": "KICK ME BECAUSE I M NOT EXIST IN FIRST ARRAY",
"children": [
{
"id": "159",,
"username": "KICK ME BECAUSE I M NOT EXIST IN FIRST ARRAY",
"children": [
{
"id": "161",
"username": "KICK ME BECAUSE I M NOT EXIST IN FIRST ARRAY",
"children": []
}
]
}
]
}
]
}
我想做的是完全删除第一个数组中不存在的那些数组子项。我正在构建一个最多三层的二叉树。第一个数组已经有一个空值的二叉树。第二个数组是来自数据库的数据,我只是使用 array_replace 将空数据替换为实际数据。在第二个数组比第一个数组有更多的值之前,这一直很好用。所以为了让它工作,我必须删除那些额外的元素。
任何人都可以帮助我使那里的长度相同。任何帮助将不胜感激。提前致谢。
萧十郎