Maison > développement back-end > tutoriel php > Comment regrouper efficacement un tableau PHP 2D par valeur de colonne ?

Comment regrouper efficacement un tableau PHP 2D par valeur de colonne ?

Mary-Kate Olsen
Libérer: 2024-12-26 02:27:09
original
222 Les gens l'ont consulté

How to Efficiently Group a 2D PHP Array by Column Value?

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',
    ],
];
Copier après la connexion

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;
}
Copier après la connexion

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',
        ],
    ],
];
Copier après la connexion

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!

source:php.cn
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal