Tri d'un tableau de tableaux associatifs par valeur de colonne
Le tri des données est une tâche fondamentale en programmation. En ce qui concerne les tableaux associatifs, PHP fournit plusieurs fonctions intégrées pour faciliter ce processus.
Considérez le tableau suivant de tableaux associatifs :
$inventory = array( array("type" => "fruit", "price" => 3.50), array("type" => "milk", "price" => 2.90), array("type" => "pork", "price" => 5.43) );
La tâche consiste à trier les éléments de $inventaire par la colonne "prix" par ordre décroissant, ce qui donne :
$inventory = array( array("type" => "pork", "price" => 5.43), array("type" => "fruit", "price" => 3.50), array("type" => "milk", "price" => 2.90) );
Solution utilisant array_multisort()
La fonction array_multisort() permet de trier un tableau (ou plusieurs tableaux) par plusieurs colonnes. Pour trier par "prix" par ordre décroissant, le code suivant peut être utilisé :
$price = array(); foreach ($inventory as $key => $row) { $price[$key] = $row['price']; } array_multisort($price, SORT_DESC, $inventory);
Solution alternative avec array_column() (PHP 5.5.0)
Pour les versions PHP 5.5.0 et supérieures, la fonction array_column() peut être utilisée pour simplifier ce qui précède code :
$price = array_column($inventory, 'price'); array_multisort($price, SORT_DESC, $inventory);
Utilisation
Le tableau $inventory trié peut désormais être utilisé selon les besoins. Par exemple, le code suivant imprimerait le tableau trié :
foreach ($inventory as $item) { echo $item['type'] . ": $" . $item['price'] . PHP_EOL; }
Sortie :
pork: .43 fruit: .50 milk: .90
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!