L'utilisation de fonctions de comparaison personnalisées en PHP peut trier les tableaux et conserver les noms de clés. Pour ce faire, vous pouvez utiliser la fonction usort(), qui prend un tableau et une fonction de rappel comme paramètres. La fonction de rappel reçoit deux éléments du tableau et renvoie un entier (-1, 0 ou 1) indiquant l'ordre de tri.
L'utilisation de fonctions de comparaison personnalisées pour trier les tableaux est une opération courante dans les opérations sur les tableaux. En PHP, cela peut être facilement réalisé en utilisant la fonction usort()
. usort()
函数轻松实现此目的。
usort(array, callable)
以下示例展示了如何使用自定义比较函数对数组中的键名进行排序,同时保留键名:
<?php // 待排序的数组 $arr = [ 'a' => 10, 'c' => 5, 'b' => 20, ]; // 自定义比较函数 $compare = function ($a, $b) { return strcmp($a['key'], $b['key']); }; usort($arr, $compare); // 输出排序后的数组 print_r($arr);
在这个例子中,compare
函数将两个键名($a['key']
和 $b['key']
)作为参数,并使用 strcmp()
函数对其进行比较。strcmp()
函数返回 -1、0 或 1,指示第一个字符串是否小于、等于或大于第二个字符串。
调用 usort()
函数时,它将指定的比较函数应用于 $arr
数组中的每个元素。如果 compare
Array ( [a] => 10 [b] => 20 [c] => 5 )
rrreee
Dans cet exemple, La fonctioncompare
prend deux noms de clés ($a['key']
et $b['key']
) comme paramètres et utilise le La fonction strcmp()
les compare. La fonction strcmp()
renvoie -1, 0 ou 1, indiquant si la première chaîne est inférieure, égale ou supérieure à la deuxième chaîne. Lorsque la fonction usort()
est appelée, elle applique la fonction de comparaison spécifiée à chaque élément du tableau $arr
. Si la fonction compare
renvoie -1, le premier élément est trié avant le deuxième élément ; si elle renvoie 1, l'inverse est vrai si elle renvoie 0, l'ordre des éléments reste inchangé ; 🎜🎜Le résultat final est : 🎜rrreee🎜Le tableau est trié du petit au grand en fonction des noms de clés, tout en conservant les noms de clés. 🎜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!