200 votes

array_push() avec une paire clé-valeur

J'ai un tableau existant auquel je veux ajouter une valeur.

J'essaie d'y parvenir en utilisant array_push() en vain.

Voici mon code :

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

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

Ce que je veux réaliser, c'est ajouter chat comme une clé pour le $data avec wagon comme valeur afin d'y accéder comme dans le snippet ci-dessous :

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

Comment puis-je y parvenir ?

376voto

dusoft Points 5014

Alors que dire d'avoir :

$data['cat']='wagon';

2 votes

Attention : $a['123'] = 456; - la chaîne '123' est convertie en clé entière 123.

1 votes

Pour les clés entières, il n'est pas nécessaire de les mettre entre guillemets.

1 votes

Pas nécessairement. Si d'autres clés sont des chaînes de caractères comme '123a', on peut souhaiter conserver des clés de caractères pour tous les éléments.

60voto

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

$data = array_merge($data, array("cat"=>"wagon","foo"=>"baar"));

1 votes

On pourrait aussi utiliser une boucle pour cela.

0 votes

Une boucle ne sert à rien. Si vous voulez pousser des valeurs avec un nom de clé en double, il faut doit utiliser array_merge .

42voto

rogeriopvl Points 9619
$data['cat'] = 'wagon';

C'est tout ce dont vous avez besoin pour ajouter la clé et la valeur au tableau.

8voto

Deepak Vaishnav Points 91

Vous n'avez pas besoin d'utiliser la fonction array_push(), vous pouvez assigner une nouvelle valeur avec une nouvelle clé directement dans le tableau comme

$array = array("color1"=>"red", "color2"=>"blue");
$array['color3']='green';
print_r($array);

Output:

   Array(
     [color1] => red
     [color2] => blue
     [color3] => green
   )

7voto

Prince Patel Points 1456

Par exemple :

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

Pour modifier la valeur de la 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 paire clé-valeur :

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

sortie :

Array ( [firstKey] => firstValue [secondKey] => secondValue [newKey] => newValue )

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X