Comment regrouper des tableaux php

PHPz
Libérer: 2023-05-06 09:43:07
original
2159 Les gens l'ont consulté

PHP est l'un des langages les plus utilisés, notamment dans le développement web, c'est un langage très flexible et facile à utiliser. Les tableaux en PHP sont un outil très pratique lorsque nous avons besoin de regrouper des données. Dans cet article, nous examinerons de plus près comment les tableaux PHP sont regroupés.

Première étape : préparer les données

Avant d'effectuer des opérations de regroupement, nous devons préparer les données. Cet article utilise les données des étudiants dans le système de gestion des informations sur les étudiants. Les données spécifiques sont les suivantes :

$students = [
    [
        "name" => "张三",
        "gender" => "男",
        "age" => 18,
        "score" => 85,
        "class" => "T1"
    ],
    [
        "name" => "李四",
        "gender" => "女",
        "age" => 19,
        "score" => 80,
        "class" => "T2"
    ],
    [
        "name" => "王五",
        "gender" => "男",
        "age" => 20,
        "score" => 95,
        "class" => "T1"
    ],
    [
        "name" => "赵六",
        "gender" => "女",
        "age" => 18,
        "score" => 70,
        "class" => "T2"
    ],
    [
        "name" => "钱七",
        "gender" => "男",
        "age" => 19,
        "score" => 90,
        "class" => "T1"
    ]
];
Copier après la connexion

Les données ci-dessus incluent le nom, le sexe, l'âge, les notes et les informations sur la classe de l'élève.

Étape 2 : Grouper selon la classe

Maintenant, nous allons utiliser la fonction array_column en PHP pour regrouper les données ci-dessus selon la classe. La fonction array_column peut obtenir un sous-tableau dans un tableau multidimensionnel. Par exemple, le code suivant obtiendra un sous-tableau nommé "class" à partir du tableau $students :

$class = array_column($students, 'class');
Copier après la connexion

Le tableau $class ne contiendra que tous les étudiants. informations sur la classe. Nous pouvons utiliser la fonction array_unique en PHP pour obtenir des classes uniques. Cela nous servira de base pour regrouper les informations sur les étudiants.

$unique_classes = array_unique($class);
Copier après la connexion

Maintenant que nous avons le tableau $unique_classes qui contient la liste de toutes les classes uniques, utilisons une boucle foreach pour parcourir le tableau et créons un nouveau tableau multidimensionnel $grouped_students et ajoutons la même classe. les informations sur les étudiants sont stockées dans un sous-tableau.

$grouped_students = array();
foreach($unique_classes as $class_name){
    $grouped_students[$class_name] = array();
    foreach($students as $student){
        if($student['class'] == $class_name){
            $grouped_students[$class_name][] = $student;
        }
    }
}
Copier après la connexion

Le code ci-dessus regroupera toutes les informations sur les étudiants en fonction de la classe et les stockera dans un tableau multidimensionnel nommé $grouped_students. Nous pouvons maintenant utiliser var_dump ou print_r pour afficher le tableau $grouped_students et vérifier si le regroupement a réussi. Voici le résultat :

Array
(
    [T1] => Array
        (
            [0] => Array
                (
                    [name] => 张三
                    [gender] => 男
                    [age] => 18
                    [score] => 85
                    [class] => T1
                )

            [1] => Array
                (
                    [name] => 王五
                    [gender] => 男
                    [age] => 20
                    [score] => 95
                    [class] => T1
                )

            [2] => Array
                (
                    [name] => 钱七
                    [gender] => 男
                    [age] => 19
                    [score] => 90
                    [class] => T1
                )

        )

    [T2] => Array
        (
            [0] => Array
                (
                    [name] => 李四
                    [gender] => 女
                    [age] => 19
                    [score] => 80
                    [class] => T2
                )

            [1] => Array
                (
                    [name] => 赵六
                    [gender] => 女
                    [age] => 18
                    [score] => 70
                    [class] => T2
                )

        )

)
Copier après la connexion

Le résultat ci-dessus montre que nous avons regroupé avec succès les informations sur les élèves en fonction de la classe.

Étape 3 : Regrouper en fonction d'autres champs

En plus de la classe, nous pouvons également regrouper les informations sur les étudiants en fonction d'autres champs. Ici, nous utiliserons l'âge comme critère de regroupement. Le code spécifique est le suivant :

$grouped_students_by_age = array();
foreach($students as $student){
    $grouped_students_by_age[$student['age']][] = $student;
}
Copier après la connexion

Le code ci-dessus regroupera les informations sur les étudiants en fonction de leur âge et les stockera dans un tableau multidimensionnel nommé $grouped_students_by_age. Nous pouvons maintenant utiliser var_dump ou print_r pour afficher le tableau $grouped_students_by_age et vérifier si le regroupement a réussi. Voici le résultat :

Array
(
    [18] => Array
        (
            [0] => Array
                (
                    [name] => 张三
                    [gender] => 男
                    [age] => 18
                    [score] => 85
                    [class] => T1
                )

            [1] => Array
                (
                    [name] => 赵六
                    [gender] => 女
                    [age] => 18
                    [score] => 70
                    [class] => T2
                )
        )

    [19] => Array
        (
            [0] => Array
                (
                    [name] => 李四
                    [gender] => 女
                    [age] => 19
                    [score] => 80
                    [class] => T2
                )
            [1] => Array
                (
                    [name] => 钱七
                    [gender] => 男
                    [age] => 19
                    [score] => 90
                    [class] => T1
                )
        )

    [20] => Array
        (
            [0] => Array
                (
                    [name] => 王五
                    [gender] => 男
                    [age] => 20
                    [score] => 95
                    [class] => T1
                )
        )

)
Copier après la connexion

Comme vous pouvez le voir, nous avons regroupé avec succès les informations sur les étudiants en fonction de leur âge.

Résumé

Dans cet article, nous avons présenté comment utiliser les tableaux PHP pour regrouper des données. Nous avons pris les informations sur les élèves comme exemple et regroupé les données selon la classe et l'âge. Ces opérations peuvent nous aider à gérer et traiter les données plus facilement et à améliorer l'efficacité et la lisibilité du code. Enfin, les lecteurs sont encouragés à essayer d’autres méthodes de regroupement et à exploiter pleinement les avantages des tableaux PHP dans le développement réel.

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