Heim >Backend-Entwicklung >PHP-Tutorial >Wie gruppiere ich ein 2D-PHP-Array effizient nach Spaltenwert?

Wie gruppiere ich ein 2D-PHP-Array effizient nach Spaltenwert?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-12-26 02:27:09222Durchsuche

How to Efficiently Group a 2D PHP Array by Column Value?

Effizientes Gruppieren von 2D-Arrays nach Spaltenwert mit PHP

Das Gruppieren mehrdimensionaler Arrays nach einem bestimmten Spaltenwert kann die Organisation und den Abruf von Daten verbessern. Obwohl es für diese Aufgabe keine nativen PHP-Funktionen gibt, kann ein benutzerdefinierter Ansatz mit einer foreach-Schleife dieses Ziel effektiv erreichen.

Problem:

Betrachten Sie die folgende 2D-Array-Darstellung Datenzeilen:

$array = [
    [
        'id' => 96,
        'shipping_no' => '212755-1',
        'part_no' => 'reterty',
        'description' => 'tyrfyt',
        'packaging_type' => 'PC',
    ],
    [
        'id' => 96,
        'shipping_no' => '212755-1',
        'part_no' => 'dftgtryh',
        'description' => 'dfhgfyh',
        'packaging_type' => 'PC',
    ],
    [
        'id' => 97,
        'shipping_no' => '212755-2',
        'part_no' => 'ZeoDark',
        'description' => 's%c%s%c%s',
        'packaging_type' => 'PC',
    ],
];

Das Ziel besteht darin, die Array-Elemente nach der Spalte „id“ zu gruppieren und Unterarrays der Gruppierung zu bilden Zeilen.

Lösung:

Verwendung einer foreach-Schleife:

$result = [];
foreach ($data as $element) {
    $result[$element['id']][] = $element;
}

Erklärung:

Die foreach-Schleife durchläuft jedes Element im $data-Array. Für jedes Element überprüft es die Spalte „id“ und verwendet sie als Schlüssel im $result-Array. Wenn der Schlüssel (ID) bereits vorhanden ist, wird ein neues Element an das entsprechende Unterarray angehängt.

Ausgabe:

Das $result-Array wird basierend auf dem ' id‘-Spalte, was zu Folgendem führt:

$result = [
    96 => [
        [
            'id' => 96,
            'shipping_no' => '212755-1',
            'part_no' => 'reterty',
            'description' => 'tyrfyt',
            'packaging_type' => 'PC',
        ],
        [
            'id' => 96,
            'shipping_no' => '212755-1',
            'part_no' => 'dftgtryh',
            'description' => 'dfhgfyh',
            'packaging_type' => 'PC',
        ],
    ],
    97 => [
        [
            'id' => 97,
            'shipping_no' => '212755-2',
            'part_no' => 'ZeoDark',
            'description' => 's%c%s%c%s',
            'packaging_type' => 'PC',
        ],
    ],
];

Diese Methode bietet eine flexible und effiziente Möglichkeit, 2D-Arrays nach einem angegebenen Spaltenwert zu gruppieren und so effiziente Daten zu ermöglichen Extraktion und Manipulation.

Das obige ist der detaillierte Inhalt vonWie gruppiere ich ein 2D-PHP-Array effizient nach Spaltenwert?. 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