Maison  >  Article  >  développement back-end  >  Comment conserver les noms de clés après avoir trié le tableau PHP par valeur ?

Comment conserver les noms de clés après avoir trié le tableau PHP par valeur ?

PHPz
PHPzoriginal
2024-05-02 16:09:02624parcourir

La façon de trier un tableau par valeur en PHP tout en préservant les noms de clés est d'utiliser la fonction usort() pour trier le tableau par valeur. La fonction usort() reçoit une fonction anonyme en tant que fonction de comparaison qui renvoie la différence entre les valeurs des éléments. usort() trie le tableau selon une fonction anonyme tout en gardant les clés inchangées.

PHP 数组按值排序后如何保持键名?

Comment trier un tableau par valeur en PHP et conserver les noms de clés ?

En PHP, vous pouvez utiliser la fonction asort() pour trier un tableau par ordre croissant par valeur, ou la fonction arsort() pour trier un tableau par ordre décroissant. commande. Cependant, les deux fonctions détruisent les clés du tableau. asort() 函数根据值对数组进行升序排序,或使用 arsort() 函数进行降序排序。但是,这两个函数都会破坏数组中的键名。

如果要按值排序数组,同时保持键名,可以使用 usort() 函数,如下所示:

$arr = array(
    'a' => 10,
    'b' => 5,
    'c' => 20
);

usort($arr, function($a, $b) {
    return $a - $b;
});

print_r($arr);

输出:

Array
(
    [b] => 5
    [a] => 10
    [c] => 20
)

在上面的代码中:

  • usort() 接受两个参数:要排序的数组 $arr 和一个用于比较元素值的匿名函数。
  • 匿名函数接收两个元素 $a$b,并返回它们的差值。
  • usort()
  • Si vous souhaitez trier un tableau par valeur tout en gardant les noms des clés, vous pouvez utiliser la fonction usort() comme suit :
  • $students = array(
        'John' => 90,
        'Jane' => 85,
        'Peter' => 95
    );
  • Sortie :
usort($students, function($a, $b) {
    return $a - $b;
});

Dans le code ci-dessus : usort() accepte deux paramètres : le tableau $arr à trier et une fonction anonyme pour comparer les valeurs des éléments.

La fonction anonyme reçoit deux éléments $a et $b et renvoie leur différence.

usort() triera les éléments du tableau, en utilisant une fonction anonyme comme fonction de comparaison.

Après le tri, les noms de clés du tableau restent inchangés.

🎜🎜🎜Exemple pratique🎜🎜🎜Considérons un tableau contenant les notes des élèves : 🎜
Array
(
    [Jane] => 85
    [John] => 90
    [Peter] => 95
)
🎜Pour trier les noms des élèves par ordre croissant par note tout en gardant le nom comme clé, vous pouvez utiliser le code suivant : 🎜rrreee🎜Sortie : 🎜rrreee

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