web-dev-qa-db-fra.com

Array Push avec tableau associé

Si je travaille avec un tableau associé comme celui-ci:

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

et je veux ajouter un élément à la fin, je pense faire:

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

Cependant, cela me laisse avec:

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

Comment éviter cela, je me retrouve donc avec:

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

Très appréciée!

20
grep

Vous utilisez un tableau associatif, vous définissez simplement la paire clé/valeur comme ceci.

$array["Password"] = pass;

Je pense que vous devrez peut-être revoir la différence entre un tableau et un tableau associatif. Par exemple, si je réexécutais la même commande avec une valeur différente, elle remplacerait l'ancienne:

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

Vous donner ceci

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

À en juger par votre question, ce n'est pas ce que vous attendez

33
Paul.s

Essayez à la place array_merge :

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

Cela produit le tableau:

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

Les tableaux associatifs ne sont pas conçus pour avoir leurs clés en ordre. Vous pouvez ajouter un élément via

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

En règle générale, avec un tableau associatif, vous n'avez aucun contrôle sur l'ordre des éléments.

Les éléments peuvent être dans n'importe quel ordre.

Cependant, j'ai trouvé que php garde l'ordre de les ajouter.

Alors faites simplement $myarra["name"] = "password"

4
Byron Whitlock