Maison >développement back-end >tutoriel php >Comment regrouper efficacement un tableau PHP 2D par valeur de colonne ?
Regrouper efficacement des tableaux 2D par valeur de colonne à l'aide de PHP
Le regroupement de tableaux multidimensionnels par valeur de colonne spécifique peut améliorer l'organisation et la récupération des données. Bien qu'il n'existe pas de fonctions PHP natives pour cette tâche, une approche personnalisée utilisant une boucle foreach peut efficacement atteindre cet objectif.
Problème :
Considérez le tableau 2D suivant représentant lignes de données :
$array = [ [ 'id' => 96, 'shipping_no' => '212755-1', 'part_no' => 'reterty', 'description' => 'tyrfyt', 'packaging_type' => 'PC', ], [ 'id' => 96, 'shipping_no' => '212755-1', 'part_no' => 'dftgtryh', 'description' => 'dfhgfyh', 'packaging_type' => 'PC', ], [ 'id' => 97, 'shipping_no' => '212755-2', 'part_no' => 'ZeoDark', 'description' => 's%c%s%c%s', 'packaging_type' => 'PC', ], ];
L'objectif est de regrouper les éléments du tableau par la colonne 'id' et de former des sous-tableaux des éléments groupés lignes.
Solution :
Utilisation d'une boucle foreach :
$result = []; foreach ($data as $element) { $result[$element['id']][] = $element; }
Explication :
La boucle foreach parcourt chaque élément du tableau $data. Pour chaque élément, il vérifie la colonne 'id' et l'utilise comme clé dans le tableau $result. Si la clé (id) existe déjà, un nouvel élément est ajouté au sous-tableau correspondant.
Sortie :
Le tableau $result sera regroupé en fonction du ' id', ce qui donne :
$result = [ 96 => [ [ 'id' => 96, 'shipping_no' => '212755-1', 'part_no' => 'reterty', 'description' => 'tyrfyt', 'packaging_type' => 'PC', ], [ 'id' => 96, 'shipping_no' => '212755-1', 'part_no' => 'dftgtryh', 'description' => 'dfhgfyh', 'packaging_type' => 'PC', ], ], 97 => [ [ 'id' => 97, 'shipping_no' => '212755-2', 'part_no' => 'ZeoDark', 'description' => 's%c%s%c%s', 'packaging_type' => 'PC', ], ], ];
Cette méthode fournit un moyen flexible et efficace de regrouper des tableaux 2D selon une valeur de colonne spécifiée, permettant ainsi une extraction et manipulation de données.
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!