Heim > Backend-Entwicklung > PHP-Tutorial > Wie kann ich in PHP ein assoziatives Array nach einem bestimmten Spaltenwert sortieren?

Wie kann ich in PHP ein assoziatives Array nach einem bestimmten Spaltenwert sortieren?

Patricia Arquette
Freigeben: 2024-12-17 10:25:25
Original
245 Leute haben es durchsucht

How Can I Sort an Associative Array by a Specific Column Value in PHP?

Sortieren eines assoziativen Arrays nach Spaltenwert

Bei einem Array assoziativer Arrays besteht die Aufgabe darin, die Elemente basierend auf einer bestimmten Spalte zu sortieren Wert. Betrachten Sie beispielsweise das folgende Array:

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

Das Ziel besteht darin, $inventory nach der Spalte „Preis“ zu sortieren, was zu Folgendem führt:

$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ösung mit array_multisort( )

Um dies zu erreichen, können wir die Funktion array_multisort() verwenden. Es ermöglicht das Sortieren mehrerer Arrays nach mehreren Spalten.

Hier ein Beispiel:

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

Alternativ kann array_column() (verfügbar seit PHP 5.5.0) verwendet werden:

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

Durch das Sortieren des $price-Arrays sortieren wir indirekt $inventory, da sie dieselben Schlüssel haben.

Das obige ist der detaillierte Inhalt vonWie kann ich in PHP ein assoziatives Array nach einem bestimmten Spaltenwert sortieren?. 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