Heim > Backend-Entwicklung > PHP-Tutorial > So gruppieren Sie Array-Elemente gemäß den angegebenen Regeln in PHP

So gruppieren Sie Array-Elemente gemäß den angegebenen Regeln in PHP

WBOY
Freigeben: 2023-07-12 10:12:01
Original
2373 Leute haben es durchsucht

So gruppieren Sie Array-Elemente nach festgelegten Regeln in PHP

In PHP müssen wir die Elemente im Array häufig nach bestimmten Regeln gruppieren, um die Verarbeitung und Verwaltung von Daten zu erleichtern. In diesem Artikel behandeln wir einige gängige Möglichkeiten, dies zu erreichen.

Methode 1: Foreach-Schleife und neues Array verwenden

Diese Methode ist intuitiver. Durch das Durchlaufen des ursprünglichen Arrays werden Elemente gemäß den angegebenen Regeln in einem neuen gruppierten Array platziert.

//原始数组
$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);
Nach dem Login kopieren

Der obige Code gruppiert Schüler nach ihren Noten und druckt die Ergebnisse aus. Das Ausgabeergebnis lautet wie folgt:

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
        )
    )
)
Nach dem Login kopieren

Methode 2: Verwenden Sie die Funktion array_reduce.

Die Funktion array_reduce kann die Elemente im Array gemäß den angegebenen Regeln akkumulieren. Wir können sie zur Implementierung der Array-Gruppierung verwenden.

$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);
Nach dem Login kopieren

Methode 3: Verwenden Sie die Funktion array_chunk.

Die Funktion array_chunk kann das Array entsprechend der angegebenen Größe in mehrere kleine Arrays aufteilen. Wir können damit die Array-Gruppierung implementieren.

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

Im obigen Code teilen wir das ursprüngliche Array in kleine Arrays auf, wobei jedes Unterarray nur ein Element enthält, wodurch der Effekt der Gruppierung gemäß den angegebenen Regeln erzielt wird.

Mit der oben genannten Methode können wir Array-Elemente einfach nach festgelegten Regeln gruppieren. Für verschiedene Anwendungsszenarien können wir eine für uns geeignete Methode auswählen, um die Array-Gruppierung zu implementieren und die Lesbarkeit und Wartbarkeit des Codes zu verbessern. Ich wünsche Ihnen, dass Sie Array-Gruppierungstechniken in der PHP-Entwicklung flexibel einsetzen und Ihre Anforderungen erfolgreich umsetzen können.

Das obige ist der detaillierte Inhalt vonSo gruppieren Sie Array-Elemente gemäß den angegebenen Regeln in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage