2009-08-30 20 views
141

Tengo una matriz existente a la que deseo agregar un valor.array_push() con el par de valores clave

Estoy tratando de lograr eso usando array_push() en vano.

A continuación es mi código:

$data = array(
    "dog" => "cat" 
); 

array_push($data['pussy'], 'wagon'); 

Lo que quiero lograr es agregar coño como una clave para la matriz $data con vagón como el valor con el fin de acceder a él, como en el siguiente fragmento de código :

echo $data['pussy']; // the expected output is: wagon 

¿Cómo puedo lograr eso?

Respuesta

248

Entonces, ¿qué acerca de tener:

$data['pussy']='wagon'; 
+0

¿Qué pasa si el coño está en una variable? $ pussy = 'pussy'; $ data [$ pussy] = 'wagon'; Probando esto y me da un error – Dynelight

+0

@Dynelight Eso no me da un error; ¿Cuál fue exactamente el error que estabas recibiendo? –

+1

Gracias por la respuesta y el humor. ;-) –

29
$data['pussy'] = 'wagon'; 

Eso es todo lo que necesita para añadir la clave y el valor de la matriz.

29

Si necesita agregar varias claves => valor, intente esto.

$data = array_merge($data, array("pussy"=>"wagon","foo"=>"baar")); 
+0

esto no agrega ningún valor en el conjunto. –

+2

Agrega o altera claves existentes. RTFM por favor. –

2

Por ejemplo:

$data = array('firstKey' => 'firstValue', 'secondKey' => 'secondValue'); 

Para cambiar valor de clave:

$data['firstKey'] = 'changedValue'; 
//this will change value of firstKey because firstkey is available in array 

salida:

Array ([firstKey] => changedValue [secondKey] => secondValue)

Para añadir nuevo valor de par de claves:

$data['newKey'] = 'newValue'; 
//this will add new key and value because newKey is not available in array 

salida:

Array ([firstKey] => firstValue [secondKey] => SecondValue [newkey] => newValue)

-2

hacer eso:

$data = [ 
    "dog" => "cat" 
]; 

array_push($data, ['pussy' => 'wagon']); 

* En php 7 y superior, la matriz está creando usando [], not()

+0

Dos problemas: 'array_push' agrega sus 2dos + parámetros como nuevos valores (no pares de clave-valor como' array_merge'), y PHP 7 acepta felizmente la sintaxis de matriz 'array()' (así como la taquigrafía '[]' sintaxis) –

Cuestiones relacionadas