![]() |
1
2
编辑: 这个怎么样?
$array1将用最终结果更新。 下面是一个示例,其中包含您未编辑的日志中的数据: http://phpio.net/s/7z09 |
![]() |
2
1
编辑-我想我现在明白问题了 从您给出的示例中,我意识到了这个问题——您的旧数组拥有所有数据,但没有父子关系,因此您希望用旧数组中的数据填充新数组(具有正确的关系)。这里的问题是合并函数必须从旧数组中任意生成的数据中提取数据来填充新数组。这可能意味着很多循环。 所以我认为解决方案是首先遍历旧数据并将其变平——只需要有一个关联数组,其中键是“id”值。然后遍历新数组并从扁平的“查找”数组填充它。这有道理吗?在任何情况下,您都有两个功能:
然后填充新数组:
你要找的应该是$newarr 以前无用的旧东西: 你的这部分代码对我来说很奇怪:
显然,我可能完全困惑了,但你不需要把这个放在这里吗?
编辑:我添加了数组合并,因为我看到不完整版本中的“子”数组也可能需要合并。 编辑2:现在我已经注意到,孩子们可以有更多的孩子(我猜是有道理的),这就是为什么你有正确的递归使用函数的想法。您似乎传入了错误的数组-您希望传入$arr1[$key]['children'](作为不完整数组)和$value2['children'](作为完整数组)
|
![]() |
Megrez7 · C#ToArray转换合并为一行,导致数组元素更改 4 月前 |
![]() |
bairog · 从按属性筛选的对象数组字典中创建值数组 4 月前 |
![]() |
Anka Hanım · 关于结构和动态数组地址的问题 4 月前 |
![]() |
Geremia · 2D NumPy数组+1D数组? 5 月前 |
![]() |
MARTIN · 交换第一个和最后一个单词,反转所有中间的字符 5 月前 |
![]() |
Paul Williams · 迭代数组时输出有问题 6 月前 |