„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Wie kann ich ein assoziatives Array nach einem bestimmten Spaltenwert in PHP sortieren?

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

Gepostet am 2025-02-27
Durchsuche:401

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

sortieren ein assoziatives Array nach spalten value

angegeben ein Array von assoziativen Arrays, die Aufgabe soll die Elemente basierend auf einem bestimmten Spaltenwert sortieren. Betrachten Sie zum Beispiel 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 ist es, $ Inventory nach der Spalte "Preis" zu sortieren, was in:

$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 ist ein Beispiel:

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

Alternativ mit Array_Column (verfügbar) (verfügbar seit Php 5.5.0):

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

Durch Sortieren des $ Preis -Arrays sortieren wir $ $ inventory indirekt, da sie dieselben Schlüssel teilen.

Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3