elementos - array push php
Array push con array asociado (4)
Si estoy trabajando con una matriz asociada como la siguiente:
Array ( [Username] => user
[Email] => email
)
y quiero agregar un elemento al final, pensaría hacer:
array_push($array, array(''Password'' => ''pass''));
Sin embargo, esto me deja con:
Array ( [Username] => user
[Email] => email
Array ( [Password] => pass )
)
¿Cómo se puede evitar esto para que termine con:
Array ( [Username] => user
[Email] => email
[Password] => pass
)
¡Muy apreciado!
Está utilizando una matriz asociativa, por lo que simplemente establece el par clave / valor de esta manera.
$array["Password"] = pass;
Creo que es posible que deba revisar la diferencia entre una matriz y una matriz asociativa. Por ejemplo, si volviera a ejecutar el mismo comando con un valor diferente, se sobrescribiría el anterior:
$array["Password"] = "overwritten";
Dandote esto
Array ( [Username] => user
[Email] => email
[Password] => "overwritten"
)
Lo que a juzgar por tu pregunta no es lo que esperas.
Generalmente, con una matriz asociativa no tiene control sobre el orden de los elementos.
Los elementos pueden estar en cualquier orden.
Sin embargo he encontrado que php mantiene el orden en que los agregas.
Así que solo haga $myarra["name"] = "password"
Las matrices asociativas no están diseñadas para tener sus claves en orden. Puedes agregar un elemento vía
$array[''Password''] = ''pass'';
Pruebe array_merge lugar:
$array = array(''Username'' => ''user'', ''Email'' => ''email'');
$array = array_merge($array, array(''Password'' => ''pass''));
Esto produce la matriz:
array(''Username'' => ''user'', ''Email'' => ''email'', ''Password'' => ''pass'');