Heim > Backend-Entwicklung > PHP-Tutorial > Wie sortiere ich ein mehrdimensionales PHP-Array nach Sub-Array-Wert?

Wie sortiere ich ein mehrdimensionales PHP-Array nach Sub-Array-Wert?

DDD
Freigeben: 2024-12-06 00:54:10
Original
236 Leute haben es durchsucht

How to Sort a Multidimensional PHP Array by Sub-array Value?

Sortieren eines mehrdimensionalen Arrays nach Unterarray-Wert in PHP

In PHP können Arrays mehrdimensional sein, was bedeutet, dass sie Arrays innerhalb von Arrays enthalten können . Ein häufiger Anwendungsfall besteht darin, solche Arrays basierend auf einem bestimmten Schlüssel innerhalb der verschachtelten Unterarrays zu sortieren.

Sortieren nach einem Zeichenfolgenschlüssel

Betrachten Sie das folgende Array:

$array = [
    [
        'configuration_id' => 10,
        'id' => 1,
        'optionNumber' => '3',
        'optionActive' => 1,
        'lastUpdated' => '2010-03-17 15:44:12'
    ],
    [
        'configuration_id' => 9,
        'id' => 1,
        'optionNumber' => '2',
        'optionActive' => 1,
        'lastUpdated' => '2010-03-17 15:44:12'
    ],
    [
        'configuration_id' => 8,
        'id' => 1,
        'optionNumber' => '1',
        'optionActive' => 1,
        'lastUpdated' => '2010-03-17 15:44:12'
    ]
];
Nach dem Login kopieren

Um dieses Array basierend auf dem Schlüssel „optionNumber“ in aufsteigender Reihenfolge zu sortieren, können wir usort zusammen mit einem anonymen Wert verwenden Funktion:

usort($array, function ($a, $b) {
    return strcmp($a['optionNumber'], $b['optionNumber']);
});
Nach dem Login kopieren

Diese Funktion vergleicht die „optionNumber“-Werte jedes Unterarrays und gibt 1 zurück, wenn der erste Wert größer ist, -1, wenn er kleiner ist, oder 0, wenn sie gleich sind. Bei diesem Vergleich wird die Groß-/Kleinschreibung beachtet.

Sortieren nach einem Ganzzahlschlüssel

Wenn der Schlüssel „optionNumber“ Ganzzahlen enthält, können wir die folgende Funktion verwenden:

usort($array, function ($a, $b) {
    return $a['optionNumber'] - $b['optionNumber'];
});
Nach dem Login kopieren

Dieser Vergleich sortiert das Array in aufsteigender numerischer Reihenfolge Reihenfolge.

Überlegungen

  • Verwenden Sie für PHP-Versionen 5.3 und höher den Raumschiffoperator (<=>) anstelle der Subtraktion, um Überlauf/Kürzung zu verhindern Probleme.
  • Beachten Sie, dass diese Lösungen davon ausgehen, dass der Schlüssel „optionNumber“ in allen Unterarrays vorhanden ist und den Erwartungen entspricht Typ.

Das obige ist der detaillierte Inhalt vonWie sortiere ich ein mehrdimensionales PHP-Array nach Sub-Array-Wert?. 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