在循环中向多维数组添加数组

21

我尝试生成一个多维数组,其中每个子数组都代表要插入到我的数据库中的一行。这样做的原因是为了使用CodeIgniters的batch_insert函数将每行添加到数据库中。

我尝试在循环内创建每个子数组并将其插入到多维数组中。谷歌建议使用array_merge,但在使用以下代码的'print_r'函数时,只有最后一个子数组被显示出来。

这是我的代码:

$allplayerdata = array(); //M-D container array
for ($i = 1; $i <= 11; $i++)
{
    $playerdata = array(
                        'player_id' => $this->input->post('player' . $i),
                        'goals' => $this->input->post('playergoals' . $i),
                        'player_num' => $i,
                        'fixture_id' => $this->input->post('fixture_id')
                    );

    //Merge each player row into same array to allow for batch insert
    $allplayerdata = array_merge($allplayerdata, $playerdata);
}
print_r($allplayerdata);

有没有人能发现我哪里出错了?感谢帮助!

2个回答

35

9
这将把第二个数组添加到第一个数组中:A merge 是另一种不同的操作。
$allplayerdata[] = $playerdata;

1
我认为你应该澄清一下合并操作是替换具有相同索引的元素。这样会更有帮助。 - Code Bunny

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接