Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/244.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 将子数组添加到数组的每个项_Php_Arrays - Fatal编程技术网

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

Php 将子数组添加到数组的每个项,php,arrays,Php,Arrays,我有一个名为$list的父数组,当我var\u 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)

我有一个名为
$list
的父数组,当我
var\u 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'

我可以使用名为
GetChildrenById($id)的函数获取
'children'
的数据

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

*

我试图通过foreach循环到达每个孩子,但我需要一个大数组的结果


如何实现这一点?

您可能需要:

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']);
}

您可能需要:

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']);
}

首先,你是如何得到结果的?使用foreach有什么问题?从数据库获取结果。foreach没有问题,但我不想重复结果。我仍然需要结果作为一个数组,这样我就可以使用json_encode():稍后等等..您首先是如何得到结果的?使用foreach有什么问题?从数据库获取结果。foreach没有问题,但我不想重复结果。我仍然需要结果作为一个数组,这样我就可以使用json_encode():稍后,等等..它按预期工作,感谢帮助和解释。它按预期工作,感谢帮助和解释。