Dans PHP, Array_Chunk et Array_Merge_Recursive sont deux fonctions de manipulation de table très utiles. Array_Chunk peut diviser un tableau en plusieurs petits morceaux, tandis que Array_merge_recursive permet de fusionner plusieurs tableaux de manière récursive. Cet article montrera comment utiliser ces deux fonctions afin d'effectuer une opération de fusion après la chasse à la table.
Array_Chunk est une fonction intégrée en PHP qui peut diviser un tableau en plusieurs petits tableaux. Sa syntaxe est la suivante:
array_chunk(array $array, int $size, bool $preserve_keys = false): array
$ Array est un tableau qui doit être guné.
$ La taille est de la taille de chaque sous-réseau.
Le paramètre $ Preserve_Keys détermine s'il faut conserver la valeur clé du tableau d'origine.
Exemple de code:
$array = [1, 2, 3, 4, 5, 6, 7, 8, 9];
$chunkedArray = array_chunk($array, 3);
print_r($chunkedArray);
Résultat de sortie:
Array
(
[0] => Array
(
[0] => 1
[1] => 2
[2] => 3
)
[1] => Array
(
[0] => 4
[1] => 5
[2] => 6
)
[2] => Array
(
[0] => 7
[1] => 8
[2] => 9
)
)
La fonction Array_merge_Recursive combine de manière récursive plusieurs nombres en un. Si une clé dans un tableau existe dans plusieurs tableaux, Array_Merge_Recursive fusionne les valeurs dans un tableau. Sa syntaxe est la suivante:
array_merge_recursive(array ...$arrays): array
$ Arrays est le tableau à fusionner et peut être n'importe quel nombre de tableaux.
Exemple de code:
$array1 = ["a" => "apple", "b" => "banana"];
$array2 = ["a" => "apricot", "b" => "blueberry"];
$mergedArray = array_merge_recursive($array1, $array2);
print_r($mergedArray);
Résultat de sortie:
Array
(
[a] => Array
(
[0] => apple
[1] => apricot
)
[b] => Array
(
[0] => banana
[1] => blueberry
)
)
Nous pouvons utiliser Array_Chunk et Array_Merge_Recursive ensemble, en fronçant d'abord les grands tableaux, puis en fusionnant récursivement chaque petit tableau. Ceci est très utile pour certains scénarios où les données doivent être fusionnées en morceaux.
Supposons que nous ayons un tableau multidimensionnel, et que nous voulons d'abord le diviser en plusieurs blocs, puis fusionner ces blocs. Voici un exemple du code d'implémentation:
// Tableau d'origine
$array = [
"key1" => ["a" => "apple", "b" => "banana"],
"key2" => ["a" => "apricot", "b" => "blueberry"],
"key3" => ["c" => "cherry", "d" => "date"],
"key4" => ["c" => "cranberry", "d" => "dragonfruit"]
];
// utiliser array_chunk Bloquer le tableau,Chaque bloc contient deux éléments
$chunkedArray = array_chunk($array, 2, true);
// utiliser array_merge_recursive Fusionner chaque morceau
$mergedChunks = array();
foreach ($chunkedArray as $chunk) {
$mergedChunks[] = array_merge_recursive(...$chunk);
}
// Sortir le résultat fusionné
print_r($mergedChunks);
Résultat de sortie:
Array
(
[0] => Array
(
[key1] => Array
(
[a] => apple
[b] => banana
)
[key2] => Array
(
[a] => apricot
[b] => blueberry
)
)
[1] => Array
(
[key3] => Array
(
[c] => cherry
[d] => date
)
[key4] => Array
(
[c] => cranberry
[d] => dragonfruit
)
)
)
En combinant array_chunk et array_merge_recursive , nous sommes en mesure de diviser facilement les tableaux en morceaux et de les fusionner récursivement. Cette approche est très efficace pour gérer des tableaux multidimensionnels complexes, en particulier lorsqu'ils traitent de grandes quantités de données.