131 votes

PHP prepend tableau associatif avec littérale clés?

Est-il possible d'ajouter un tableau associatif avec littérale paires clé=>valeur? Je sais que array_unshift() fonctionne avec les touches numériques, mais je suis en espérant quelque chose qui va travailler avec littérale clés.

Un exemple, je voudrais faire la chose suivante:

$array1 = array('fruit3'=>'apple', 'fruit4'=>'orange');
$array2 = array('fruit1'=>'cherry', 'fruit2'=>'blueberry');

// prepend magic

$resulting_array = ('fruit1'=>'cherry', 
                    'fruit2'=>'blueberry', 
                    'fruit3'=>'apple', 
                    'fruit4'=>'orange');

253voto

cletus Points 276888

Ne pouvez-vous pas juste à faire:

$resulting_array = $array2 + $array1;

?

20voto

mvpetrovich Points 81

Dans votre situation, vous souhaitez utiliser array_merge():

array_merge(array('fruit1'=>'cherry', 'fruit2'=>'blueberry'), array('fruit3'=>'apple', 'fruit4'=>'orange'));

Pour ajouter une valeur unique, pour un tableau associatif, au lieu de array_unshift(), utilisez à nouveau les array_merge():

array_merge(array($key => $value), $myarray);

5voto

karim79 Points 178055

@Cletus est sur place. Juste pour ajouter, si l'ordre des éléments dans la saisie des tableaux sont ambiguës, et vous avez besoin de la finale du tableau à trier, vous pouvez ksort:

$resulting_array = $array1 + $array2;
ksort($resulting_array);

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