数组推送与关联数组

时间:2011-07-07 23:01:48

标签: php arrays array-push

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

Array ( [Username] => user 
        [Email] => email 
      )

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

array_push($array, array('Password' => 'pass'));

然而,这让我失望:

Array ( [Username] => user 
        [Email] => email
        Array ( [Password] => pass )
      )

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

Array ( [Username] => user 
        [Email] => email
        [Password] => pass
      )

非常感谢!

4 个答案:

答案 0 :(得分:33)

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

$array["Password"] = pass;

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

$array["Password"] = "overwritten";

给你这个

Array ( [Username] => user 
        [Email] => email
        [Password] => "overwritten"
      )

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

答案 1 :(得分:15)

请尝试array_merge

$array = array('Username' => 'user', 'Email' => 'email'); 
$array = array_merge($array, array('Password' => 'pass'));

这会生成数组:

array('Username' => 'user', 'Email' => 'email', 'Password' => 'pass');

答案 2 :(得分:4)

关联数组的设计并非按顺序排列关键字。您可以通过

添加元素
$array['Password'] = 'pass';

答案 3 :(得分:4)

通常,使用关联数组时,您无法控制元素的顺序。

元素可以是任何顺序。

但是我发现php会保留你添加它们的顺序。

所以只需$myarra["name"] = "password"