将数组推入多维数组(php)

将数组推入多维数组(php),php,arrays,multidimensional-array,Php,Arrays,Multidimensional Array,我尝试了许多不同的方法将数组推入多维数组,包括array\u push(),$array['index']=$toPush,但我总是遇到意想不到的结果。我使用了var_dump()和print_r()尝试调试,但无法解决问题 我的推理是运行while循环来提取游戏id和游戏名称,并将它们存储在一个关联数组中,然后将它们推送到我的主数组中 $games_array = array ( "games" => array ( array("id"=&g

我尝试了许多不同的方法将数组推入多维数组,包括
array\u push()
$array['index']=$toPush
,但我总是遇到意想不到的结果。我使用了
var_dump()
print_r()
尝试调试,但无法解决问题

我的推理是运行while循环来提取游戏id和游戏名称,并将它们存储在一个关联数组中,然后将它们推送到我的主数组中

$games_array = array 
(

    "games" => array 
     (
          array("id"=>"1", "game"=>"first game");
          array("id"=>"2", "game"=>"second game");
     )

);
// a while loop would run here and update $game_to_add;
$game_to_add = array("id"=>"$game['id']", "game"=>"$game['title']");

$games_array = array_push($games_array['games'], $game_to_add);
在本例中,
while()
将更新
$Game\u中的ID和游戏,以添加

但是,每当我尝试这样做时,它只会覆盖数组并输出一个整数(例如:
int(3)

我不明白问题是什么,任何解释都将不胜感激,因为我找不到一个专门针对这个问题的问题

我的实际测试代码:

$games_array = array( "games" => array(
    array("id" => "1", "name" => "Star feathers"),
    array("id" => "2", "name" => "chung fu")
)
);

$another_game = array("id" => "3", "name" => "some kunt");
$games_array = array_push($games_array["games"], array("id" => "3", "name" 
=>"some game"));
var_dump($games_array);

您正在将array_push的返回值分配给games数组。
array\u push的返回值是推后的元素数

就当它是

array_push($array, $newElement);
(无转让)


如果一次只推送一个元素,则首选
$array[]=$newElement
,以防止
array\u push

函数调用的开销在
数组推送()之前清除
$games\u array
赋值。它在适当的位置修改数组,它不会返回它。我不敢相信我没有注意到这一点。我在商店里到处使用了
Array\u push()
,我想我离树林太近了,看不见树木。非常感谢。我建议您摆脱使用
array\u push
的习惯,使用速记
$arrayname[]=$new\u值例如,
$games\u数组[“games”][]=$另一个游戏