Php 将数组追加到多维数组失败?

Php 将数组追加到多维数组失败?,php,arrays,Php,Arrays,我正在尝试将一个数组附加到多维数组中的另一个数组: $info[] = array( 'key' => $row['id'], 'master' => array( 'name' => $row['master_name'], "detail" => array() ) ); 这是多维数组: $info[] = array( 'key' => $row['id'], 'mas

我正在尝试将一个数组附加到多维数组中的另一个数组:

 $info[] = array(
     'key' => $row['id'],
     'master' => array(
         'name' => $row['master_name'],
         "detail" => array()
     )
);
这是多维数组:

 $info[] = array(
     'key' => $row['id'],
     'master' => array(
         'name' => $row['master_name'],
         "detail" => array()
     )
);
我有一个键,它是主id,还有一个主项,它是一个带有名称的数组和另一个带有细节的数组(第一次是空的)

但是,当我尝试向$info['master']['detail']数组添加另一个带有详细信息的数组时,如下所示:

  $info['master']['detail'][] = array("name" => "A detail name", 
                                      "value" => "A detail value");
没有添加任何内容。。。这怎么可能

编辑:应向主循环添加详细信息的foreach循环:

foreach ($details as $detail)
{

        $name = $detail['detail_name'];
        $value = $detail['detail_value'];

        if ($info['key'] == $detail['id']) {
              $info['master']['detail'][] = array("name" => $name,
                                                  "value" => $value);

        }
 }

我不确定我是否理解,但当我看到您的示例时,我认为这是一个索引问题:
试着替换

 $info[] = array(
     'key' => $row['id'],
     'master' => array(
         'name' => $row['master_name'],
         "detail" => array()
     )
);
  $info['master']['detail'][] = array("name" => "A detail name", 
                                      "value" => "A detail value");

并添加一个新值:

$info['master']['detail']['foo'] = "A detail foo";

你凭什么认为它失败了?它工作正常:“未添加任何内容”-您如何知道?检查
var\u dump
var\u export
$info
实际外观。你看到
$info[]=array(…)
了吗?当我使用foreach循环时,也许我错了?详细信息来自一个查询的结果集。您是否检查了$details是否为空?谢谢,我刚刚自己解决了这个问题,我弄乱了foreach循环OK,很好。只是想知道,我的答案是好还是不好?(如果没有,我就删除它)这很好,但我已经自己解决了,所以还是谢谢你!;)我认为你应该写下我的答案,并将其标记为已解决,或者写下你自己的答案,并将其标记为已解决。这将向具有相同问题的其他人表明已找到解决方案。(你应该有其他徽章:))