将数组推入多维数组(php)[重复]

问题描述 投票:0回答:1

这个问题在这里已有答案:

我已经尝试了许多不同的方法将数组推入多维数组,包括array_push()$array['index'] = $toPush但我仍然遇到了意想不到的结果。我在下面详细介绍了var_dump()print_r(),试图进行调试,但无法解决问题。

我的理由是运行一个while循环来拉取游戏ID和游戏名称并将它们存储在一个assoc中。数组,然后将它们推入我的主数组。

$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_to_add内部的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);
php arrays multidimensional-array
1个回答
0
投票

您将array_push的返回值分配给games数组。 array_push的返回值是推后元素的数量。

只需使用它

array_push($array, $newElement);

(没有作业)

如果你只是推动一个元素,那么$array[] = $newElement是首选,以防止array_push函数调用的开销

© www.soinside.com 2019 - 2024. All rights reserved.