Heim >Backend-Entwicklung >PHP-Tutorial >Wie sortiere ich ein mehrdimensionales PHP-Array nach inneren Array-Werten?

Wie sortiere ich ein mehrdimensionales PHP-Array nach inneren Array-Werten?

DDD
DDDOriginal
2024-11-03 02:01:29613Durchsuche

How to Sort a Multi-Dimensional PHP Array by Inner Array Values?

Mehrdimensionale PHP-Arrays nach inneren Array-Werten sortieren

Das Sortieren mehrdimensionaler Arrays in PHP ist eine häufige Aufgabe in der Datenverarbeitung und kann Dies kann eine Herausforderung darstellen, wenn das Sortierkriterium in einem verschachtelten Array liegt. In diesem Artikel untersuchen wir, wie man ein PHP-Array basierend auf einem bestimmten Wert innerhalb des inneren Arrays, insbesondere dem „Name“-Schlüssel, sortiert.

Um dieser Herausforderung zu begegnen, werden wir eine benutzerdefinierte Sortierfunktion namens array_sort einführen . Diese Funktion benötigt ein Eingabearray, den Schlüssel zum Sortieren und eine optionale Sortierreihenfolge (aufsteigend oder absteigend).

Die Funktion array_sort erstellt zunächst neue Arrays für die Sortierung und die sortierten Ergebnisse. Es durchläuft das Eingabearray und extrahiert die angegebenen Schlüssel-Wert-Paare in das Sortierarray. Anschließend wendet sie den entsprechenden Sortieralgorithmus (asort für aufsteigend oder arsort für absteigend) auf das Sortierarray an.

Schließlich rekonstruiert die Funktion das sortierte Array, indem sie die ursprünglichen Array-Werte den neu sortierten Schlüsseln zuweist. Das resultierende Array wird basierend auf dem angegebenen inneren Array-Schlüssel sortiert.

Verwendung:

Um die Funktion array_sort zu verwenden, können Sie die folgenden Schritte ausführen:

  1. Rufen Sie die Funktion array_sort mit dem Eingabearray, dem Schlüssel zum Sortieren und der gewünschten Sortierreihenfolge auf (optional).
  2. Speichern Sie das sortierte Array in einer neuen Variablen.
  3. Auf das sortierte Array kann jetzt über die neue Variable zugegriffen werden.

Beispiel :

Betrachten Sie das folgende Eingabearray:

$list = [
    ['type' => 'suite', 'name' => 'A-Name'],
    ['type' => 'suite', 'name' => 'C-Name'],
    ['type' => 'suite', 'name' => 'B-Name'],
];

Um das Array zu sortieren Alphabetisch nach dem Namensschlüssel würden Sie Folgendes verwenden:

$sortedList = array_sort($list, 'name', SORT_ASC);

Das resultierende $sortedList-Array wird wie folgt sortiert:

[
    ['type' => 'suite', 'name' => 'A-Name'],
    ['type' => 'suite', 'name' => 'B-Name'],
    ['type' => 'suite', 'name' => 'C-Name'],
]

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