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

Comment fusionner des tableaux en php sans modifier les valeurs clés

PHPz
PHPzoriginal
2023-04-26 10:23:261197parcourir

En PHP, fusionner deux tableaux est une tâche très courante. Cependant, nous devons parfois fusionner des tableaux, mais en même temps, nous voulons également conserver les valeurs clés du tableau d'origine, alors que devons-nous faire ? Cet article présentera quelques méthodes pour conserver les valeurs clés lors de la fusion de tableaux.

1. Utilisez la fonction array_merge array_merge 函数

array_merge 函数可以把一个或多个数组合并起来,并返回一个新的数组。如果传入多个数组,它们将按照参数的顺序依次被合并。

默认情况下,array_merge 函数会把索引数组中的键值重新排序。但是,如果原来的数组中包含了关联数组,它们的键值将会被保留。因此,可以使用 array_merge 函数来实现合并数组但不改变键值的需求。

以下是一个示例,展示如何使用 array_merge 来实现数组合并但不改变键值:

<?php
$array1 = array(&#39;a&#39;, &#39;b&#39;, &#39;c&#39;);
$array2 = array(1, 2, 3);
$result = array_merge($array1, $array2);
print_r($result);
?>

上述示例代码输出结果如下:

Array
(
    [0] => a
    [1] => b
    [2] => c
    [3] => 1
    [4] => 2
    [5] => 3
)

可以看到,使用 array_merge 函数合并数组后,索引数组中的键值被重新排列,但关联数组中的键值得到了保留。

二、使用 + 运算符

另一种合并数组,但同时保留键值的方法是使用 + 运算符。这种方法只适用于两个数组的情况,但它比 array_merge 函数效率更高,因为不需要创建新的数组。

使用 + 运算符合并两个数组,PHP 会对合并后的数组进行去重。如果两个数组中存在相同的键值,那么合并后的数组将只保留第一个数组中的元素。

以下是一个示例,展示如何使用 + 运算符来实现数组合并但不改变键值:

<?php
$array1 = array(&#39;a&#39; => 1, 'b' => 2, 'c' => 3);
$array2 = array('b' => 4, 'd' => 5, 'e' => 6);
$result = $array1 + $array2;
print_r($result);
?>

上述示例代码输出结果如下:

Array
(
    [a] => 1
    [b] => 2
    [c] => 3
    [d] => 5
    [e] => 6
)

可以看到,使用 + 运算符合并数组后,关联数组中的键值得到了保留,索引数组中的元素也得到了合并。

总结

本文介绍了两种可以合并数组但不改变键值的方法:使用 array_merge 函数和 +

La fonction array_merge peut combiner un ou plusieurs tableaux et renvoyer un nouveau tableau. Si plusieurs tableaux sont transmis, ils seront fusionnés par ordre de paramètres. 🎜🎜Par défaut, la fonction array_merge réorganisera les valeurs clés dans le tableau d'index. Cependant, si le tableau d'origine contient des tableaux associatifs, leurs valeurs clés seront conservées. Par conséquent, vous pouvez utiliser la fonction array_merge pour répondre au besoin de fusionner des tableaux sans modifier les valeurs clés. 🎜🎜Ce qui suit est un exemple montrant comment utiliser array_merge pour fusionner des tableaux sans modifier les valeurs clés : 🎜rrreee🎜Le résultat de l'exemple de code ci-dessus est le suivant : 🎜rrreee🎜Comme vous pouvez le voir, utilisez array_merge Une fois que la fonction a fusionné les tableaux, les valeurs clés du tableau d'index sont réorganisées, mais les valeurs clés du tableau associatif sont conservées. 🎜🎜2. Utilisez l'opérateur + 🎜🎜Une autre façon de fusionner des tableaux tout en conservant les valeurs clés est d'utiliser l'opérateur +. Cette méthode ne fonctionne qu'avec deux tableaux, mais elle est plus efficace que la fonction array_merge car aucun nouveau tableau n'a besoin d'être créé. 🎜🎜Utilisez l'opérateur + pour fusionner deux tableaux, et PHP dédupliquera le tableau fusionné. Si la même valeur de clé existe dans deux tableaux, le tableau fusionné ne conservera que les éléments du premier tableau. 🎜🎜Ce qui suit est un exemple montrant comment utiliser l'opérateur + pour fusionner des tableaux sans modifier les valeurs clés : 🎜rrreee🎜Le résultat de l'exemple de code ci-dessus est le suivant : 🎜rrreee🎜Comme vous pouvez voir, utiliser + Une fois que l'opérateur a fusionné les tableaux, les valeurs clés du tableau associatif sont conservées et les éléments du tableau d'index sont également fusionnés. 🎜🎜Résumé🎜🎜Cet article présente deux façons de fusionner des tableaux sans modifier les valeurs clés : en utilisant la fonction array_merge et l'opérateur +. Ces méthodes sont très simples mais très pratiques. Que vous ayez affaire à plusieurs tableaux ou que vous deviez fusionner deux tableaux associatifs, ces méthodes peuvent vous aider à conserver les valeurs clés des tableaux d'origine et à fusionner rapidement les 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