Maison > développement back-end > tutoriel php > Comment pouvez-vous regrouper des sous-tableaux en PHP en fonction d'une colonne et créer des valeurs séparées par des virgules à partir d'une autre colonne au sein de ces groupes ?

Comment pouvez-vous regrouper des sous-tableaux en PHP en fonction d'une colonne et créer des valeurs séparées par des virgules à partir d'une autre colonne au sein de ces groupes ?

Mary-Kate Olsen
Libérer: 2024-11-02 15:54:29
original
523 Les gens l'ont consulté

How can you group subarrays in PHP based on one column and create comma-separated values from another column within those groups?

Regrouper les sous-tableaux par une colonne et créer des valeurs séparées par des virgules à partir d'une autre colonne au sein de groupes

En PHP, regrouper des sous-tableaux en fonction d'une colonne et la concaténation des valeurs d'une autre colonne au sein de ces groupes pose un défi unique. Pour résoudre ce problème, nous proposons une solution détaillée qui transforme un tableau donné dans un format structuré souhaité.

L'exemple de tableau fourni se compose de sous-tableaux contenant chacun deux éléments. Le but est de regrouper les sous-tableaux en fonction du deuxième élément (appelé « colonne ») et de créer un nouveau tableau où chaque élément représente un groupe. Au sein de chaque élément de groupe, le premier élément doit être une liste des premiers éléments des sous-tableaux groupés, séparés par des virgules, tandis que le deuxième élément représente la colonne commune.

Pour y parvenir, nous utilisons une méthode étape par étape. approche par étapes :

  1. Boucle à travers le tableau d'origine : commencez par parcourir chaque sous-tableau du tableau d'origine.
  2. Vérifiez la clé de groupe : Pour chaque sous-tableau, vérifiez si le deuxième élément (clé de groupe) existe dans un nouveau tableau appelé $groups. Sinon, initialisez un tableau vide pour cette clé de groupe.
  3. Ajouter un sous-tableau au groupe : Une fois la clé de groupe existante, ajoutez le premier élément du sous-tableau actuel au tableau de groupe correspondant.
  4. Créez le tableau structuré : Après avoir traité le tableau d'origine, parcourez le tableau $groups. Pour chaque groupe, concaténez les valeurs de ses premiers éléments à l'aide d'une virgule et stockez-les dans un nouveau tableau. Combinez cela avec la clé de groupe pour créer la structure souhaitée.

Le script PHP fourni ci-dessous démontre cette approche :

<code class="php">// Create the input array
$data = array(
    array('444', '0081'),
    array('449', '0081'),
    array('451', '0081'),
    array('455', '2100'),
    array('469', '2100')
);

// Initialize the groups array
$groups = array();

// Loop through the original array
foreach ($data as $item) {
    $key = $item[1];  // Get the group key

    // Check if the group key exists
    if (!array_key_exists($key, $groups)) {
        $groups[$key] = array();
    }

    // Add the subarray to the group
    $groups[$key][] = $item[0];
}

// Create the structured array
$structured = array();
foreach ($groups as $group => $values) {
    $structured[] = array(implode(',', $values), $group);
}

// Display the output
print_r($structured);</code>
Copier après la connexion

Ce script transforme efficacement le tableau d'entrée en un nouveau tableau avec la structure spécifiée, où les sous-tableaux sont regroupés sur la base d'une colonne commune et les premiers éléments des sous-tableaux groupés sont concaténés avec des virgules.

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