Heim > Backend-Entwicklung > PHP-Tutorial > Wie sortiere ich Arrays und Daten in PHP?

Wie sortiere ich Arrays und Daten in PHP?

Linda Hamilton
Freigeben: 2025-01-02 15:36:41
Original
951 Leute haben es durchsucht

How to Sort Arrays and Data in PHP?

Wie kann ich Arrays und Daten in PHP sortieren?

Grundlegende eindimensionale Arrays

Dazu gehören mehrdimensionale Arrays, einschließlich Arrays von Objekten, und Sortierung ein Array basierend auf einem anderen.

Sortierung Funktionen:

  • sortieren
  • rsortieren
  • asortieren
  • arsortieren
  • natsort
  • natcasesort
  • ksort
  • krsort

Multi Dimensionsarrays, einschließlich Arrays von Objekten

PHP benötigt eine benutzerdefinierte Vergleichsfunktion, um komplexe Werte zu sortieren.

Schritte:

  1. Erstellen Sie eine Vergleichsfunktion, die zwei Elemente akzeptiert und Folgendes zurückgibt:

    • 0, wenn die Elemente vorhanden sind gleich.
    • Ein Wert kleiner als 0, wenn der erste Wert niedriger ist.
    • Ein Wert größer als 0, wenn der erste Wert höher ist.
  2. Verwenden Sie eines davon Funktionen:

    • usort
    • uasort
    • uksort

Benutzerdefinierte numerische Vergleiche

Bei einer numerischen Sortierung Schlüssel:

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

Objekte

Beim Sortieren eines Arrays von Objekten:

function cmp($a, $b) {
    return $a->baz - $b->baz;
}
Nach dem Login kopieren

Sortieren nach mehreren Feldern

Für die primäre Sortierung nach einem Feld (z. B. „foo“) und sekundäre Sortierung nach einer anderen (z. B. „baz“):

function cmp(array $a, array $b) {
    if (($cmp = strcmp($a['foo'], $b['foo'])) !== 0) {
        return $cmp;
    } else {
        return $a['baz'] - $b['baz'];
    }
}
Nach dem Login kopieren

Sortieren in eine manuelle Reihenfolge

So sortieren Sie in eine bestimmte Reihenfolge (z. B. „foo“, „bar“, „baz“):

function cmp(array $a, array $b) {
    static $order = array('foo', 'bar', 'baz');
    return array_search($a['foo'], $order) - array_search($b['foo'], $order);
}
Nach dem Login kopieren

Sortieren eines Arrays basierend auf einem anderen

Zum Sortieren eines Arrays basierend auf ein anderer:

array_multisort($array1, $array2);
Nach dem Login kopieren

Array_column

Ab PHP 5.5.0 können Sie array_column verwenden, um eine bestimmte Spalte zu extrahieren und das Array entsprechend zu sortieren:

array_multisort(array_column($array, 'foo'), SORT_DESC, $array);
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie sortiere ich Arrays und Daten in PHP?. 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