Heim >Backend-Entwicklung >PHP-Tutorial >Wie kann ich in PHP ein assoziatives Array nach einem bestimmten Spaltenwert sortieren?
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!