Maison  >  Article  >  développement back-end  >  Comment regrouper les éléments d'un tableau selon des règles spécifiées en PHP

Comment regrouper les éléments d'un tableau selon des règles spécifiées en PHP

WBOY
WBOYoriginal
2023-07-12 10:11:022278parcourir

Comment regrouper les éléments d'un tableau selon des règles spécifiées en PHP

En PHP, nous devons souvent regrouper les éléments du tableau selon certaines règles pour faciliter le traitement et la gestion des données. Dans cet article, nous aborderons quelques méthodes courantes pour y parvenir.

Méthode 1 : utiliser la boucle foreach et le nouveau tableau

Cette méthode est plus intuitive en parcourant le tableau d'origine, les éléments sont placés dans le nouveau tableau groupé selon les règles spécifiées.

//原始数组
$students = array(
    array('name' => '张三', 'score' => 80),
    array('name' => '李四', 'score' => 90),
    array('name' => '王五', 'score' => 70),
    array('name' => '赵六', 'score' => 85),
    array('name' => '孙七', 'score' => 95),
);

//新的分组数组
$groupedStudents = array();

foreach ($students as $student) {
    $score = $student['score'];
    if (!isset($groupedStudents[$score])) {
        $groupedStudents[$score] = array();
    }
    $groupedStudents[$score][] = $student;
}

//打印结果
print_r($groupedStudents);

Le code ci-dessus regroupera les étudiants en fonction de leurs notes et imprimera les résultats. Le résultat de sortie est le suivant :

Array(
    [80] => Array(
        [0] => Array(
            [name] => 张三
            [score] => 80
        )
    )
    [90] => Array(
        [0] => Array(
            [name] => 李四
            [score] => 90
        )
    )
    [70] => Array(
        [0] => Array(
            [name] => 王五
            [score] => 70
        )
    )
    [85] => Array(
        [0] => Array(
            [name] => 赵六
            [score] => 85
        )
    )
    [95] => Array(
        [0] => Array(
            [name] => 孙七
            [score] => 95
        )
    )
)

Méthode 2 : utilisez la fonction array_reduce

La fonction array_reduce peut accumuler les éléments du tableau selon les règles spécifiées. Nous pouvons l'utiliser pour implémenter le regroupement de tableaux.

$groupedStudents = array_reduce($students, function ($result, $student) {
    $score = $student['score'];
    if (!isset($result[$score])) {
        $result[$score] = array();
    }
    $result[$score][] = $student;
    return $result;
}, array());

//打印结果
print_r($groupedStudents);

Méthode 3 : utilisez la fonction array_chunk

La fonction array_chunk peut diviser le tableau en plusieurs petits tableaux en fonction de la taille spécifiée. Nous pouvons l'utiliser pour implémenter le regroupement de tableaux.

$groupedStudents = array_chunk($students, 1, true);
//打印结果
print_r($groupedStudents);

Dans le code ci-dessus, nous divisons le tableau d'origine en petits tableaux, chaque sous-tableau contenant un seul élément, obtenant ainsi l'effet de regroupement selon les règles spécifiées.

Grâce à la méthode ci-dessus, nous pouvons facilement regrouper les éléments du tableau selon des règles spécifiées. Pour différents scénarios d'application, nous pouvons choisir une méthode qui nous convient pour implémenter le regroupement de tableaux et améliorer la lisibilité et la maintenabilité du code. Je souhaite que vous puissiez utiliser de manière flexible les techniques de regroupement de tableaux dans le développement PHP et répondre avec succès à vos besoins.

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!

Déclaration:
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