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

Wie sortiere ich Arrays und Daten in PHP?

Linda Hamilton
Linda HamiltonOriginal
2025-01-02 15:36:41933Durchsuche

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'];
}

Objekte

Beim Sortieren eines Arrays von Objekten:

function cmp($a, $b) {
    return $a->baz - $b->baz;
}

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'];
    }
}

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);
}

Sortieren eines Arrays basierend auf einem anderen

Zum Sortieren eines Arrays basierend auf ein anderer:

array_multisort($array1, $array2);

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);

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!

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