Heim > Backend-Entwicklung > PHP-Tutorial > Wie sortiere ich ein Array assoziativer Arrays nach einem Spaltenwert in PHP?

Wie sortiere ich ein Array assoziativer Arrays nach einem Spaltenwert in PHP?

Linda Hamilton
Freigeben: 2025-01-01 01:05:17
Original
127 Leute haben es durchsucht

How to Sort an Array of Associative Arrays by a Column Value in PHP?

Sortieren eines Arrays assoziativer Arrays nach Spaltenwert

Das Sortieren von Daten ist eine grundlegende Aufgabe in der Programmierung. Wenn es um assoziative Arrays geht, bietet PHP mehrere integrierte Funktionen, um diesen Prozess zu erleichtern.

Betrachten Sie das folgende Array assoziativer Arrays:

$inventory = array(
   array("type" => "fruit", "price" => 3.50),
   array("type" => "milk", "price" => 2.90),
   array("type" => "pork", "price" => 5.43)
);
Nach dem Login kopieren

Die Aufgabe besteht darin, die Elemente von zu sortieren $Inventar nach der Spalte „Preis“ in absteigender Reihenfolge, was zu:

$inventory = array(
   array("type" => "pork", "price" => 5.43),
   array("type" => "fruit", "price" => 3.50),
   array("type" => "milk", "price" => 2.90)
);
Nach dem Login kopieren

Lösungsverwendung führt array_multisort()

Die Funktion array_multisort() ermöglicht das Sortieren eines Arrays (oder mehrerer Arrays) nach mehreren Spalten. Um nach „Preis“ in absteigender Reihenfolge zu sortieren, kann der folgende Code verwendet werden:

$price = array();
foreach ($inventory as $key => $row) {
    $price[$key] = $row['price'];
}
array_multisort($price, SORT_DESC, $inventory);
Nach dem Login kopieren

Alternative Lösung mit array_column() (PHP 5.5.0)

Für PHP-Versionen 5.5.0 und höher kann die Funktion array_column() verwendet werden, um das oben Gesagte zu vereinfachen Code:

$price = array_column($inventory, 'price');
array_multisort($price, SORT_DESC, $inventory);
Nach dem Login kopieren

Verwendung

Das sortierte $inventory-Array kann nun nach Bedarf verwendet werden. Der folgende Code würde beispielsweise das sortierte Array drucken:

foreach ($inventory as $item) {
    echo $item['type'] . ": $" . $item['price'] . PHP_EOL;
}
Nach dem Login kopieren

Ausgabe:

pork: .43
fruit: .50
milk: .90
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie sortiere ich ein Array assoziativer Arrays nach einem Spaltenwert 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