Heim >Backend-Entwicklung >PHP-Problem >So gruppieren Sie PHP-Arrays

So gruppieren Sie PHP-Arrays

PHPz
PHPzOriginal
2023-05-06 09:43:072203Durchsuche

PHP ist eine der am weitesten verbreiteten Sprachen, insbesondere in der Webentwicklung, eine äußerst flexible und benutzerfreundliche Sprache. Arrays in PHP sind ein sehr praktisches und praktisches Werkzeug, wenn wir Daten gruppieren müssen. In diesem Artikel werfen wir einen genaueren Blick auf die Gruppierung von PHP-Arrays.

Schritt 1: Bereiten Sie die Daten vor

Bevor wir den Gruppierungsvorgang durchführen, müssen wir die Daten vorbereiten. In diesem Artikel werden Studentendaten im Studenteninformationsverwaltungssystem verwendet. Die spezifischen Daten lauten wie folgt:

$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"
    ]
];

Die oben genannten Daten umfassen den Namen, das Geschlecht, das Alter, die Noten und die Klasseninformationen des Schülers.

Schritt 2: Nach Klasse gruppieren

Jetzt verwenden wir die Funktion array_column in PHP, um die oben genannten Daten nach Klasse zu gruppieren. Die Funktion array_column kann ein Unterarray in einem mehrdimensionalen Array abrufen. Der folgende Code ruft beispielsweise ein Unterarray mit dem Namen „class“ aus dem Array $students ab:

$class = array_column($students, 'class');

Das Array $class enthält nur die Klasseninformationen aller Schüler. Wir können die Funktion array_unique in PHP verwenden, um eindeutige Klassen zu erhalten. Dies bildet die Grundlage für die Gruppierung der Schülerinformationen.

$unique_classes = array_unique($class);

Jetzt haben wir das Array $unique_classes, das die Liste aller eindeutigen Klassen enthält. Lassen Sie uns eine foreach-Schleife verwenden, um das Array zu durchlaufen und ein neues mehrdimensionales Array $grouped_students zu erstellen und die Schülerinformationen derselben Klasse in einem zu speichern im Subarray.

$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;
        }
    }
}

Der obige Code gruppiert alle Schülerinformationen nach Klasse und speichert sie in einem mehrdimensionalen Array namens $grouped_students. Jetzt können wir var_dump oder print_r verwenden, um das Array $grouped_students anzuzeigen und zu überprüfen, ob die Gruppierung erfolgreich war. Das Folgende ist die Ausgabe:

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
                )

        )

)

Die obige Ausgabe zeigt, dass wir die Schülerinformationen erfolgreich nach Klasse gruppiert haben.

Schritt 3: Gruppieren nach anderen Feldern

Zusätzlich zum Unterricht können wir Schülerinformationen auch nach anderen Feldern gruppieren. Hier verwenden wir das Alter als Gruppierungskriterium. Der spezifische Code lautet wie folgt:

$grouped_students_by_age = array();
foreach($students as $student){
    $grouped_students_by_age[$student['age']][] = $student;
}

Der obige Code gruppiert Schülerinformationen nach Alter und speichert sie in einem mehrdimensionalen Array mit dem Namen $grouped_students_by_age. Jetzt können wir var_dump oder print_r verwenden, um das Array $grouped_students_by_age anzuzeigen und zu überprüfen, ob die Gruppierung erfolgreich war. Hier ist die Ausgabe:

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
                )
        )

)

Wie Sie sehen können, haben wir die Schülerinformationen erfolgreich nach Alter gruppiert.

Zusammenfassung

In diesem Artikel haben wir vorgestellt, wie man PHP-Arrays zum Gruppieren von Daten verwendet. Wir haben die Schülerinformationen als Beispiel genommen und die Daten nach Klasse und Alter gruppiert. Diese Vorgänge können uns helfen, Daten bequemer zu verwalten und zu verarbeiten und die Effizienz und Lesbarkeit des Codes zu verbessern. Abschließend werden die Leser ermutigt, andere Gruppierungsmethoden auszuprobieren und die Vorteile von PHP-Arrays in der tatsächlichen Entwicklung voll auszuschöpfen.

Das obige ist der detaillierte Inhalt vonSo gruppieren Sie PHP-Arrays. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn