Maison  >  Article  >  développement back-end  >  En PHP, comment trier un tableau uniquement en fonction de certaines paires clé-valeur du tableau, en préservant les noms de clés ?

En PHP, comment trier un tableau uniquement en fonction de certaines paires clé-valeur du tableau, en préservant les noms de clés ?

PHPz
PHPzoriginal
2024-05-04 09:03:01812parcourir

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é.

在 PHP 中,如何仅按数组某些键值对对数组进行排序,保留键名?

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!

Déclaration:
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