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
Patricia ArquetteOriginal
2024-12-17 10:25:25240Durchsuche

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

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

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

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

$price = array_column($inventory, 'price');
array_multisort($price, SORT_DESC, $inventory);

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!

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