20

私がそのような連想配列で作業している場合:

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

4 に答える 4

34

連想配列を使用しているので、このようにキーと値のペアを設定するだけです。

$array["Password"] = pass;

配列と連想配列の違いを確認する必要があるかもしれません。たとえば、同じコマンドを別の値で再度実行すると、古いコマンドが上書きされます。

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

あなたにこれを与える

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

あなたの質問でどちらを判断するかはあなたが期待していることではありません

于 2011-07-07T23:07:47.963 に答える
14

代わりにarray_mergeを試してください。

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

これにより、配列が生成されます。

array('Username' => 'user', 'Email' => 'email', 'Password' => 'pass');
于 2011-07-07T23:06:12.123 に答える
4

連想配列は、キーを順番に持つようには設計されていません。次の方法で要素を追加できます

$array['Password'] = 'pass';
于 2011-07-07T23:05:58.150 に答える
4

一般に、連想配列では、要素の順序を制御できません。

要素は任意の順序にすることができます。

ただし、phpは追加した順序を維持していることがわかりました。

だから$myarra["name"] = "password"

于 2011-07-07T23:07:11.093 に答える