web-dev-qa-db-ja.com

関連付けられた配列による配列プッシュ

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

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
      )

とても有難い!

20
grep

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

$array["Password"] = pass;

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

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

これをあなたに与える

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

あなたの質問によるどの判断があなたの期待するものではありません

33
Paul.s

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

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

これは配列を生成します:

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

連想配列は、キーを順番に並べるようには設計されていません。を介して要素を追加できます

$array['Password'] = 'pass';
4
Michael Mior

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

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

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

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

4
Byron Whitlock