2009-08-30 4 views
141

J'ai un tableau existant auquel je souhaite ajouter une valeur. J'essaye de réaliser cela en utilisant array_push() en vain.array_push() avec la paire valeur/clé

Ci-dessous est mon code:

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

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

Ce que je veux atteindre est d'ajouter chatte comme une clé au tableau $data avec wagon en tant que valeur de manière à y accéder comme dans l'extrait ci-dessous :

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

Comment puis-je y parvenir?

Répondre

248

Alors, que d'avoir:

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

Et si la chatte est dans une variable? $ pussy = 'chatte'; $ data [$ pussy] = 'wagon'; En essayant cela et il me donne une erreur – Dynelight

+0

@Dynelight Cela ne me donne pas une erreur; quelle était exactement l'erreur que vous receviez? –

+1

Merci pour la réponse et l'humour. ;-) –

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

C'est tout ce que vous devez ajouter la clé et la valeur du tableau.

29

Si vous devez ajouter plusieurs clés => valeur, essayez ceci.

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

cela n'ajoute aucune valeur dans le tableau. –

+2

Il ajoute ou modifie les clés existantes. RTFM s'il vous plait. –

2

Par exemple:

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

Pour modifier la valeur de clé:

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

sortie:

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

Pour ajouter une nouvelle valeur de clé de la paire:

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

sortie:

Array ([firstKey] => firstValue [secondKey] => SecondValue [newKey] => nouvelleValeur)

-2

Il suffit de le faire:

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

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

* En PHP 7 et supérieur, array est en train de créer en utilisant [], not()

+0

Deux problèmes: 'array_push' ajoute ses deuxièmes paramètres en tant que nouvelles valeurs (pas les paires valeur/clé comme' array_merge'), et PHP 7 accepte joyeusement la syntaxe de tableau 'array()' (ainsi que le raccourci '[]' syntaxe) –

Questions connexes