Heim >Backend-Entwicklung >PHP-Tutorial >Wie sortiere ich ein mehrdimensionales Array in PHP nach dem Feld eines inneren Arrays?

Wie sortiere ich ein mehrdimensionales Array in PHP nach dem Feld eines inneren Arrays?

Linda Hamilton
Linda HamiltonOriginal
2024-11-29 06:14:101021Durchsuche

How to Sort a Multidimensional Array in PHP by an Inner Array's Field?

Sortieren mehrdimensionaler Arrays nach dem inneren Array-Feld in PHP [Duplikat]

Stellen Sie sich ein mehrdimensionales Array vor, das eine datenbankähnliche Struktur darstellt, in der jedes Element enthalten ist bezeichnet eine Zeile mit inneren Arrays, die Feldname-Wert-Paare enthalten. Zum Beispiel:

Array
(
    [0] => Array
        (
            [name] => 'Sony TV'
            [price] => 600.00
        )

    [1] => Array
        (
            [name] => 'LG TV'
            [price] => 350.00
        )

    [2] => Array
        (
            [name] => 'Samsung TV'
            [price] => 425.00
        )  
}

Das Ziel besteht darin, diese Zeilen basierend auf dem Feld „Preis“ zu sortieren. Das gewünschte Ergebnis ist:

Array
(
    [0] => Array
        (
            [name] => 'LG TV'
            [price] => 350.00
        )

    [1] => Array
        (
            [name] => 'Samsung TV'
            [price] => 425.00
        )

    [2] => Array
        (
            [name] => 'Sony TV'
            [price] => 600.00
        )        
}

Lösung:

Um diese Sortierung zu erreichen, bietet PHP die folgende einfache Lösung:

array_multisort(array_column($yourArray, "price"), SORT_ASC, $yourArray);

Alternativ , kann das folgende Snippet verwendet werden, um äußere Array-Schlüssel beizubehalten:

$col = array_column($yourArray, "price");
array_multisort($col, SORT_ASC, SORT_NUMERIC, $yourArray);

Das obige ist der detaillierte Inhalt vonWie sortiere ich ein mehrdimensionales Array in PHP nach dem Feld eines inneren 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