Heim  >  Artikel  >  Backend-Entwicklung  >  So verwenden Sie die Funktion array_multisort in PHP, um ein Array nach angegebenen Feldern zu sortieren

So verwenden Sie die Funktion array_multisort in PHP, um ein Array nach angegebenen Feldern zu sortieren

醉折花枝作酒筹
醉折花枝作酒筹nach vorne
2021-06-25 16:09:033060Durchsuche

Es gibt einige Funktionen in PHP, die zum Sortieren von Arrays verwendet werden können. Aber wie kann man ein Array mit mehreren Feldern nach bestimmten Feldern sortieren? Mit der Funktion array_multisort kann man nach bestimmten Feldern sortieren.

So verwenden Sie die Funktion array_multisort in PHP, um ein Array nach angegebenen Feldern zu sortieren

Es gibt einige Funktionen in PHP, die zum Sortieren von Arrays verwendet werden können.

  • sort() – Sortieren Sie das Array in aufsteigender Reihenfolge.

  • rsort() – Sortieren Sie das Array in absteigender Reihenfolge.

  • asort() – Sortieren Sie das Array in aufsteigender Reihenfolge basierend auf dem Wert des assoziativen Arrays

  • ksort() – Sortiert das Array in aufsteigender Reihenfolge basierend auf den Schlüsseln des assoziativen Arrays

  • arsort() – Sortiert das Array in absteigender Reihenfolge basierend auf den Werten des assoziativen Arrays

  • krsort() – Sortiert das Array in absteigender Reihenfolge basierend auf den Schlüsseln des assoziativen Arrays. In absteigender Reihenfolge anordnen

Zum Beispiel:

        $arr=['green','car','apple','book'];
        sort($arr);
        var_dump($arr);

Sie können das Sortierergebnis erhalten:

array (size=4)
  0 => string 'apple' (length=5)
  1 => string 'book' (length=4)
  2 => string 'car' (length=3)
  3 => string 'green' (length=5)

Aber für ein Array mit mehreren Feldern: Wie sortieren Sie es nach dem angegebenen Feld? Zum Beispiel das folgende Array:

        $arr=[
            [
                'age'=>50,
                'name'=>'张三'
            ],
            [
                'age'=>18,
                'name'=>'李四'
            ],
            [
                'age'=>27,
                'name'=>'王五'
            ]
        ];

Wie sortieren wir nach Alter? Oder wie wäre es mit der Sortierung nach Namen?

 array_multisort(array_column($arr,'age'),SORT_ASC,$arr);
var_dump($arr);

Drucken Sie die Ergebnisse aus

array (size=3)
  0 => 
    array (size=2)
      'age' => int 18
      'name' => string '李四' (length=6)
  1 => 
    array (size=2)
      'age' => int 27
      'name' => string '王五' (length=6)
  2 => 
    array (size=2)
      'age' => int 50
      'name' => string '张三' (length=6)

Auf diese Weise wird sortiert, das heißt, wenn Sie die Funktion array_multisort zum Sortieren verwenden, sortieren Sie das Array mit array_column, extrahieren Sie die angegebene Spalte in den ersten Parameter und fügen Sie die Sortierkonstante ein Geben Sie den zweiten Parameter ein und fügen Sie das Array ein. Mit dem dritten Parameter können Sie nach dem angegebenen Feld sortieren. SORT_ASC ist aufsteigend, SORT_DESC absteigend.

Empfohlenes Lernen: php-Video-Tutorial

Das obige ist der detaillierte Inhalt vonSo verwenden Sie die Funktion array_multisort in PHP, um ein Array nach angegebenen Feldern zu sortieren. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:segmentfault.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen