Maison > Article > développement back-end > Comment regrouper des tableaux php
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" ] ];
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');
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);
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; } } }
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 ) ) )
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; }
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 ) ) )
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!