"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Comment puis-je trier un tableau associatif par une valeur de colonne spécifique en PHP?

Comment puis-je trier un tableau associatif par une valeur de colonne spécifique en PHP?

Publié le 2025-02-27
Parcourir:899

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

tri un tableau associatif par valeur de colonne

Étant donné un tableau de tableaux associatifs, la tâche consiste à trier les éléments basés sur une valeur de colonne spécifique. Par exemple, considérons le tableau suivant:

$inventory = array(
  array("type" => "fruit", "price" => 3.50),
  array("type" => "milk", "price" => 2.90),
  array("type" => "pork", "price" => 5.43),
);

L'objectif est de trier $ inventaire par la colonne "Price", résultant en:

$inventory = array(
  array("type" => "pork", "price" => 5.43),
  array("type" => "fruit", "price" => 3.50),
  array("type" => "milk", "price" => 2.90),
);

Solution à l'aide d'array_multisort ()

Pour y parvenir, nous pouvons utiliser la fonction array_multisort (). Il permet de tri plusieurs tableaux par plusieurs colonnes.

Voici un exemple:

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

alternativement, en utilisant array_column () (disponible depuis php 5.5.0):

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

En triant le tableau de prix $, nous triez indirectement l'inventaire $ car ils partagent les mêmes clés.

Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3