数组推送与关联数组

gre*_*rep 19 php arrays array-push

如果我正在使用这样的关联数组:

Array ( [Username] => user 
        [Email] => email 
      )
Run Code Online (Sandbox Code Playgroud)

我想在最后添加一个元素,我想这样做:

array_push($array, array('Password' => 'pass'));
Run Code Online (Sandbox Code Playgroud)

但是,这让我失望:

Array ( [Username] => user 
        [Email] => email
        Array ( [Password] => pass )
      )
Run Code Online (Sandbox Code Playgroud)

如何避免这种情况,以便我最终得到:

Array ( [Username] => user 
        [Email] => email
        [Password] => pass
      )
Run Code Online (Sandbox Code Playgroud)

非常感激!

Pau*_*l.s 33

您正在使用关联数组,因此您只需像这样设置键/值对.

$array["Password"] = pass;
Run Code Online (Sandbox Code Playgroud)

我想你可能需要检查一个数组和一个关联数组之间的区别.例如,如果我使用不同的值再次运行相同的命令,它将覆盖旧的命令:

$array["Password"] = "overwritten";
Run Code Online (Sandbox Code Playgroud)

给你这个

Array ( [Username] => user 
        [Email] => email
        [Password] => "overwritten"
      )
Run Code Online (Sandbox Code Playgroud)

根据你的问题判断不是你的期望


bri*_*vis 15

请尝试使用array_merge:

$array = array('Username' => 'user', 'Email' => 'email'); 
$array = array_merge($array, array('Password' => 'pass'));
Run Code Online (Sandbox Code Playgroud)

这会产生数组:

array('Username' => 'user', 'Email' => 'email', 'Password' => 'pass');
Run Code Online (Sandbox Code Playgroud)