Maison > développement back-end > tutoriel php > Comment regrouper des sous-tableaux par colonne et générer des valeurs séparées par des virgules à partir d'une autre colonne ?

Comment regrouper des sous-tableaux par colonne et générer des valeurs séparées par des virgules à partir d'une autre colonne ?

DDD
Libérer: 2024-11-02 18:11:02
original
649 Les gens l'ont consulté

How to Group Subarrays by One Column and Generate Comma-Separated Values from Another Column?

Regroupement de sous-tableaux par colonne et génération de valeurs séparées par des virgules à partir d'une autre colonne

Introduction

Étant donné un tableau de sous-tableaux à deux colonnes, la tâche consiste à regrouper ces sous-tableaux par un colonne et créez de nouveaux sous-tableaux où les valeurs de l'autre colonne sont séparées par des virgules.

Structure originale :

$array = [
    ["444", "0081"],
    ["449", "0081"],
    ["451", "0081"],
    ["455", "2100"],
    ["469", "2100"]
];
Copier après la connexion

Souhaité Structure :

array (
  0 => 
  array (
    0 => '444,449,451',
    1 => '0081',
  ),
  1 => 
  array (
    0 => '455,469',
    1 => '2100',
  ),
)
Copier après la connexion

Solution

Une solution élégante peut être obtenue en parcourant le tableau d'origine et en collectant les valeurs dans un tableau temporaire basé sur le regroupement clé. Par la suite, le tableau temporaire est utilisé pour construire la structure souhaitée.

<code class="php">$data = []; 
$groups = [];

foreach($data as $item){
    if(!array_key_exists($item[1], $groups)){
        $groups[$item[1]] = [];
    }
    $groups[$item[1]][] = $item[0];
}

$structured = [];
foreach($groups as $group => $values){
    $structured[] = [implode(',', $values), $group];
}</code>
Copier après la connexion

Cette approche garantit que les sous-tableaux sont regroupés correctement et que les valeurs de l'autre colonne sont combinées sous forme de chaînes séparées par des virgules. Il utilise des fonctions de tableau PHP de base et des boucles foreach pour obtenir le résultat souhaité.

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