将子数组添加到数组的每个项目

时间:2017-03-04 16:26:31

标签: php arrays

我有一个名为$list的父数组,当我var_dump($list);时,这就是结果:

array (size=10)
  0 => 
    array (size=4)
      'id' => string '6' (length=1)
      'title' => string 'Title #1' (length=7)
  1 =>
    array (size=4)
      'id' => string '10' (length=2)
      'title' => string 'Title x' (length=7)

  ...

  9 => 
    array (size=4)
      'id' => string '2' (length=1)
      'title' => string 'Title y' (length=3)

如您所见,我有两个键'id''title'

我想添加另一个多维数组作为名为'children'

的第三个键

我可以使用名为'children'

的函数获取GetChildrenById($id);的数据

但我不知道如何将此数组添加为第三个键,并将键命名为'children'

*

我试图通过foreach循环覆盖每个孩子,但我需要将结果作为一个大数组。

如何实现这一目标?

1 个答案:

答案 0 :(得分:2)

您可能需要:

foreach ($list as &$v) {
    $v['children'] = GetChildrenById($v['id']);
}

&之前的$v表示$v是对$list项的引用,而不是副本。结果,当您对$v应用更改时,$list项目会被修改。

但你也可以像这样使用数组索引:

foreach ($list as $k => $v) {
    $list[$k]['children'] = GetChildrenById($v['id']);
}