Maison > développement back-end > tutoriel php > Comment fusionner un ou plusieurs tableaux en PHP

Comment fusionner un ou plusieurs tableaux en PHP

王林
Libérer: 2024-03-19 10:44:02
avant
1177 Les gens l'ont consulté

L'éditeur PHP Banana vous présentera en détail comment fusionner un ou plusieurs tableaux. En PHP, vous pouvez utiliser la fonction array_merge() pour fusionner plusieurs tableaux dans un nouveau tableau, ou vous pouvez utiliser l'opérateur plus (+) pour fusionner des tableaux. De plus, la fonction array_merge_recursive() peut fusionner des tableaux multidimensionnels. Pour les tableaux associatifs, vous pouvez utiliser l'opérateur "+" pour les fusionner. Dans le développement réel, des méthodes appropriées sont sélectionnées pour la fusion de tableaux en fonction de besoins spécifiques afin de rendre le programme plus efficace et plus flexible.

Tableaux de fusion PHP

php propose plusieurs méthodes pour fusionner un ou plusieurs tableaux :

fonction array_merge()

array_merge() Les fonctions sont le moyen le plus simple de fusionner des tableaux. Il fusionne plusieurs tableaux en un nouveau tableau.

$arr1 = [1, 2, 3];
$arr2 = ["a", "b", "c"];

$mergedArr = array_merge($arr1, $arr2);

print_r($mergedArr); // 输出 [1, 2, 3, "a", "b", "c"]
Copier après la connexion

+ opérateur

L'opérateur

+ peut également fusionner des tableaux, mais est limité à deux tableaux.

$arr1 = [1, 2, 3];
$arr2 = ["a", "b", "c"];

$mergedArr = $arr1 + $arr2;

print_r($mergedArr); // 输出 [1, 2, 3, "a", "b", "c"]
Copier après la connexion

fonction array_combine()

array_combine() La fonction crée un nouveau tableau avec des éléments d'un tableau comme clés et des éléments de l'autre tableau comme valeurs.

$keys = ["id", "name", "age"];
$values = [1, "John", 30];

$mergedArr = array_combine($keys, $values);

print_r($mergedArr); // 输出 ["id" => 1, "name" => "John", "age" => 30]
Copier après la connexion

fonction array_map()

array_map() Les fonctions vous permettent d'appliquer une ou plusieurs fonctions à chaque élément du tableau et de renvoyer un nouveau tableau. Cela peut être utilisé pour fusionner des tableaux, par exemple en ajoutant des éléments correspondants de deux tableaux.

$arr1 = [1, 2, 3];
$arr2 = ["a", "b", "c"];

$mergedArr = array_map(function($a, $b) { return $a . $b; }, $arr1, $arr2);

print_r($mergedArr); // 输出 ["1a", "2b", "3c"]
Copier après la connexion

Tableau imbriqué

Si vous devez fusionner des tableaux imbriqués, vous pouvez utiliser la fonction récursive ou la fonction array_merge_recursive().

Fonction array_merge_recursive()

array_merge_recursive() La fonction fusionne récursivement les tableaux et fusionne tous les sous-éléments dans des tableaux imbriqués.

$arr1 = [
"name" => "John",
"age" => 30,
"children" => [
["name" => "Alice", "age" => 5],
["name" => "Bob", "age" => 8],
],
];

$arr2 = [
"name" => "Jane",
"age" => 35,
"children" => [
["name" => "Carol", "age" => 10],
],
];

$mergedArr = array_merge_recursive($arr1, $arr2);

print_r($mergedArr); // 输出 [
"name" => "Jane",
"age" => 35,
"children" => [
["name" => "Alice", "age" => 5],
["name" => "Bob", "age" => 8],
["name" => "Carol", "age" => 10],
],
]
Copier après la connexion

Fonction récursive

Vous pouvez également utiliser des fonctions récursives pour fusionner des tableaux imbriqués.

function mergeNestedArrays($arr1, $arr2) {
foreach ($arr2 as $key => $value) {
if (is_array($value) && isset($arr1[$key]) && is_array($arr1[$key])) {
$arr1[$key] = mergeNestedArrays($arr1[$key], $value);
} else {
$arr1[$key] = $value;
}
}

return $arr1;
}

$arr1 = [
"name" => "John",
"age" => 30,
"children" => [
["name" => "Alice", "age" => 5],
["name" => "Bob", "age" => 8],
],
];

$arr2 = [
"name" => "Jane",
"age" => 35,
"children" => [
["name" => "Carol", "age" => 10],
],
];

$mergedArr = mergeNestedArrays($arr1, $arr2);

print_r($mergedArr); // 输出 [
"name" => "Jane",
"age" => 35,
"children" => [
["name" => "Alice", "age" => 5],
["name" => "Bob", "age" => 8],
["name" => "Carol", "age" => 10],
],
]
Copier après la connexion

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!

Étiquettes associées:
source:lsjlt.com
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal