Maison >développement back-end >tutoriel php >Comment puis-je regrouper des lignes dans un tableau PHP 2D en fonction d'une valeur de colonne à l'aide de l'itération ?

Comment puis-je regrouper des lignes dans un tableau PHP 2D en fonction d'une valeur de colonne à l'aide de l'itération ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-12-20 20:08:10793parcourir

How Can I Group Rows in a 2D PHP Array Based on a Column Value Using Iteration?

Regroupement des lignes d'un tableau 2D par valeur de colonne à l'aide d'une approche itérative

Lorsque vous traitez des tableaux multidimensionnels complexes, la nécessité de regrouper les lignes en fonction de critères spécifiques les valeurs des colonnes apparaissent souvent. Bien que PHP ne dispose pas de fonctions natives pour cette tâche, une simple boucle foreach peut y parvenir efficacement.

Considérez le tableau suivant :

$data = [
    [
        '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'
    ]
];

Pour regrouper les lignes du tableau par la colonne 'id', utilisez la boucle suivante :

$result = [];
foreach ($data as $element) {
    $result[$element['id']][] = $element;
}

Cette boucle parcourt chaque élément du tableau d'origine. Pour chaque élément, il vérifie la valeur 'id' et ajoute l'élément au sous-tableau correspondant dans le tableau de résultats.

Le tableau $result résultant sera regroupé par 'id' comme suit :

[
    96 => [
        // Element with id 96 from the original array
        // Element with id 96 from the original array
    ],
    97 => [
        // Element with id 97 from the original array
    ]
]

Cette approche évite les éléments en double dans le tableau de résultats, garantissant que chaque ligne est attribuée à son groupe correct en fonction de la valeur de la colonne « id ».

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