Lors du tri d'un tableau selon des paires clé-valeur en PHP, vous pouvez utiliser la fonction uasort() pour recevoir une fonction de rappel pour comparer les valeurs clés et conserver les noms de clés. Par exemple, pour trier les enregistrements des employés en fonction de leur salaire, vous pouvez utiliser la fonction uksort() pour extraire la valeur du salaire de chaque élément à des fins de comparaison, triant ainsi les enregistrements du salaire faible au salaire élevé.
Trier un tableau en fonction d'une paire clé-valeur en PHP
Parfois, lors du tri d'un tableau en PHP, nous devons le trier en fonction d'une paire clé-valeur spécifique tout en préservant les noms de clés. Cet article explique comment atteindre cet objectif.
<?php // 创建一个数组 $arr = [ 'a' => 1, 'b' => 3, 'c' => 2, 'd' => 4, ]; // 使用 uasort() 函数,接收一个回调函数 uksort($arr, function($a, $b) use ($arr) { return $arr[$a] <=> $arr[$b]; }); // 打印排序后的数组,保留键名 print_r($arr);
Cas pratique : Trier les enregistrements des employés par salaire d'employé
Supposons qu'il existe un tableau contenant les enregistrements des employés :
$employees = [ 'John Doe' => ['salary' => 50000], 'Jane Smith' => ['salary' => 40000], 'Peter Jones' => ['salary' => 60000], ];
Afin de trier les enregistrements des employés par salaire, nous utilisons une fonction anonyme supplémentaire pour supprimer chaque élément du tableau Extraire le salaire des éléments :
// 按薪酬排序 uksort($employees, function($a, $b) use ($employees) { return $employees[$a]['salary'] <=> $employees[$b]['salary']; });
Maintenant, le tableau $employees
sera trié par salaire de l'employé du plus bas au plus élevé, tout en conservant la clé du nom de l'employé.
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!