Heim > Backend-Entwicklung > PHP-Tutorial > Wie sortiere ich ein PHP-Array basierend auf einer benutzerdefinierten Reihenfolge?

Wie sortiere ich ein PHP-Array basierend auf einer benutzerdefinierten Reihenfolge?

Patricia Arquette
Freigeben: 2024-12-24 08:11:15
Original
952 Leute haben es durchsucht

How to Sort a PHP Array Based on a Custom Order?

Array-Sortierung nach benutzerdefinierter Reihenfolge in PHP

Das Sortieren von Arrays in PHP erfolgt normalerweise durch vergleichsbasierte Algorithmen. Es gibt jedoch Situationen, in denen Sie Arrays basierend auf einer vordefinierten benutzerdefinierten Reihenfolge sortieren müssen.

Stellen Sie sich ein Array von Arrays vor, bei dem jedes Unterarray zwei Schlüssel enthält: „id“ und „title“. Sie möchten das Hauptarray in einer bestimmten Reihenfolge sortieren, wie zum Beispiel:

[3452342, 5867867, 7867867, 1231233]
Nach dem Login kopieren

Um dies zu erreichen, können Sie die Funktion usort() verwenden. Mit dieser Funktion können Sie eine Vergleichsfunktion angeben, die definiert, wie die Array-Elemente verglichen werden.

In diesem Fall verwendet die Vergleichsfunktion einen Abschluss, um die Positionen der „id“-Werte im benutzerdefinierten Reihenfolge-Array zu vergleichen ( $order):

usort($array, function ($a, $b) use ($order) {
    $pos_a = array_search($a['id'], $order);
    $pos_b = array_search($b['id'], $order);
    return $pos_a - $pos_b;
});
Nach dem Login kopieren

Die Vergleichsfunktion weist die Positionen der „id“-Werte im $order-Array $pos_a und $pos_b zu. Anschließend werden diese Positionen subtrahiert, um die Reihenfolge zu bestimmen ($a kommt vor $b, wenn $pos_a kleiner als $pos_b ist).

Durch die Verwendung des benutzerdefinierten Reihenfolge-Arrays und der Vergleichsfunktion können Sie Ihr Array effektiv sortieren Arrays in der vordefinierten Reihenfolge.

Das obige ist der detaillierte Inhalt vonWie sortiere ich ein PHP-Array basierend auf einer benutzerdefinierten Reihenfolge?. 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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage