Maison  >  Article  >  développement back-end  >  Comment fusionner des tableaux et conserver les valeurs clés en php

Comment fusionner des tableaux et conserver les valeurs clés en php

不言
不言original
2018-06-07 11:26:152297parcourir

Ce qui suit partagera avec vous une méthode d'implémentation pour fusionner des tableaux et conserver les valeurs clés​​en PHP. Elle a une bonne valeur de référence et j'espère qu'elle sera utile à tout le monde.

php fusionne les tableaux, généralement en utilisant la méthode array_merge.

array_merge — Fusionner un ou plusieurs tableaux

array array_merge ( array $array1 [, array $... ] )

array_merge Fusionner les cellules d'un ou plusieurs tableaux en un seul tableau La valeur de est ajouté au tableau précédent et le tableau résultant est renvoyé.

Si le tableau d'entrée a le même nom de clé de chaîne, la valeur après le nom de clé écrasera la valeur précédente. Cependant, si le tableau contient des clés numériques, ces dernières n'écraseront pas la valeur d'origine, mais y seront ajoutées.

Si seul un tableau est donné et que le tableau est indexé numériquement, les noms de clés sont réindexés de manière contiguë.

Exemple 1, le tableau utilise des noms de clés de chaîne, le même nom de clé sera écrasé par ce qui suit

<?php
$arr1 = array(&#39;name&#39;=>&#39;fdipzone&#39;);
$arr2 = array(&#39;name&#39;=>&#39;terry&#39;);
$result = array_merge($arr1, $arr2);
print_r($result);
?>

Sortie :

Array
(
 [name] => terry
)

Exemple 2, le tableau utilise des noms de clés numériques, mais le les noms de clé sont les mêmes. seront écrasés et le nom de clé sera réindexé

<?php
$arr1 = array(0=>&#39;fdipzone&#39;,1=>&#39;terry&#39;);
$arr2 = array(0=>&#39;php&#39;,1=>&#39;python&#39;);
$result = array_merge($arr1, $arr2);
print_r($result);
?>

Sortie :

Array
(
 [0] => fdipzone
 [1] => terry
 [2] => php
 [3] => python
)

En raison des besoins professionnels, il est nécessaire de fusionner les réponses aux deux parties des questions à choix multiples dans le questionnaire. Les réponses à chaque partie. sont des tableaux (clé => valeur), la clé est le numéro de la question, la valeur est la réponse et il n'y a pas de duplication des numéros de question dans les deux parties.

Utilisez array_merge pour fusionner les deux parties de la réponse

<?php
$form_data1 = array(11=>&#39;A&#39;,12=>&#39;B&#39;,13=>&#39;C&#39;,14=>&#39;D&#39;);
$form_data2 = array(25=>&#39;B&#39;,26=>&#39;A&#39;,27=>&#39;D&#39;,28=>&#39;C&#39;);
$result = array_merge($form_data1, $form_data2);
print_r($result);
?>

Sortie :

Array
(
 [0] => A
 [1] => B
 [2] => C
 [3] => D
 [4] => B
 [5] => A
 [6] => D
 [7] => C
)

Utilisez array_merge pour fusionner. Étant donné que le numéro de question (clé) est un nombre, le nom de la clé sera réindexé, ce qui entraînera la non-conservation du numéro de question.

Méthode pour fusionner des tableaux et conserver les valeurs clés :

<?php
$form_data1 = array(11=>&#39;A&#39;,12=>&#39;B&#39;,13=>&#39;C&#39;,14=>&#39;D&#39;);
$form_data2 = array(25=>&#39;B&#39;,26=>&#39;A&#39;,27=>&#39;D&#39;,28=>&#39;C&#39;);
$result = $form_data1 + $form_data2;
print_r($result);
?>

Sortie :

Array
(
 [11] => A
 [12] => B
 [13] => C
 [14] => D
 [25] => B
 [26] => A
 [27] => D
 [28] => C
)

Utilisez l'opérateur «+» pour fusionner des tableaux, vous pouvez conserver les valeurs clés ​du tableau, si les tableaux fusionnés contiennent les mêmes valeurs de clé, et les valeurs de clé ultérieures n'écraseront pas les valeurs de clé précédentes (la première est prioritaire).

Recommandations associées :

Résumé des trois méthodes list(), each() et while de PHP parcourant des tableaux

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn