Tengo una matriz existente a la que quiero agregar un valor.
Estoy tratando de lograr eso usando array_push()
en vano.
Debajo está mi código:
$data = array(
"dog" => "cat"
);
array_push($data['cat'], 'wagon');
Lo que quiero lograr es agregar cat como clave a la $data
matriz con wagon como valor para acceder a él como en el fragmento a continuación:
echo $data['cat']; // the expected output is: wagon
¿Cómo puedo lograr eso?
$a['123'] = 456;
- cadena '123' se convierte en clave número entero 123.Si necesita agregar clave múltiple => valor, intente esto.
fuente
array_merge
.Eso es todo lo que necesita para agregar la clave y el valor a la matriz.
fuente
Por ejemplo:
Para cambiar el valor clave:
Para agregar un nuevo par de valores clave:
fuente
No necesita usar la función array_push (), puede asignar un nuevo valor con una nueva clave directamente a la matriz como ...
fuente
$array['color3']='green'
. Eso es exactamente lo que hizo @dusoft arriba. Su código es solo una ofuscación de esa solución.Matriz ['clave'] = valor;
Esto es lo que necesitas. No es necesario utilizar la función array_push () para esto. En algún momento el problema es muy simple y pensamos de manera compleja :).
fuente
Solo haz eso:
* En php 7 y superior, la matriz se crea usando [], no ()
fuente
array_push
agrega sus parámetros 2nd + como nuevos valores (no emparejamientos clave-valor como loarray_merge
hace), y PHP 7 acepta felizmente laarray()
sintaxis de la matriz (así como la[]
sintaxis abreviada )