Comment regrouper des sous-tableaux et formater les valeurs par colonne en PHP ?

Linda Hamilton
Libérer: 2024-11-02 09:45:02
original
720 Les gens l'ont consulté

How to Group Subarrays and Format Values by Column in PHP?

Regrouper les sous-tableaux par colonne, formater les valeurs d'une autre colonne au sein des groupes

Dans un tableau donné où chaque sous-tableau se compose de deux colonnes, la tâche consiste à regrouper les sous-tableaux par la deuxième colonne et à créer un nouveau tableau où chaque groupe a les valeurs de la première colonne concaténées avec des virgules et la deuxième colonne comme deuxième valeur.

Par exemple, un tableau d'entrée comme :

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

doit être transformé en :

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

Solution :

Une approche simple pour y parvenir est la suivante :

<code class="php">// Create an empty array to store the grouped data
$groups = [];

// Loop through the input array
foreach ($array as $item) {
    // If the second column value is not yet a key in $groups, create an empty array for it
    if (!array_key_exists($item[1], $groups)) {
        $groups[$item[1]] = [];
    }
    
    // Add the first column value to the array at the corresponding key
    $groups[$item[1]][] = $item[0];
}

// Initialize the new array with the desired structure
$structured = [];

// Loop through the groups
foreach ($groups as $group => $values) {
    // Join the first column values with commas and add the group key as the second column
    $structured[] = [implode(',', $values), $group];
}</code>
Copier après la connexion

Cette solution gère la transformation efficacement, aboutissant au 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
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
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!