Maison > développement back-end > tutoriel php > Comment trier un tableau de tableaux associatifs par valeur de colonne en PHP ?

Comment trier un tableau de tableaux associatifs par valeur de colonne en PHP ?

Linda Hamilton
Libérer: 2025-01-01 01:05:17
original
127 Les gens l'ont consulté

How to Sort an Array of Associative Arrays by a Column Value in PHP?

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)
);
Copier après la connexion

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)
);
Copier après la connexion

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);
Copier après la connexion

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);
Copier après la connexion

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;
}
Copier après la connexion

Sortie :

pork: .43
fruit: .50
milk: .90
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal