Maison > Article > développement back-end > Introduction à l'utilisation de la fonction usort() dans la bibliothèque de fonctions PHP
PHP est un langage de programmation largement utilisé avec de nombreuses fonctions couramment utilisées par les développeurs. usort() en fait partie. La fonction principale de usort() est de trier le tableau selon la fonction de comparaison spécifiée. La syntaxe de la fonction
usort() est la suivante :
usort(array $array, callable $cmp_function): bool
Dans le code ci-dessus, $array
représente le tableau à trier, et $cmp_function
est un fonction de comparaison appelable. La valeur de retour est de type booléen, indiquant si le tri a réussi. $array
表示要排序的数组,$cmp_function
是一个可调用的比较函数。返回值是布尔类型,表示排序是否成功。
下面就对 usort() 函数进行详细介绍。
usort() 函数中传入的比较函数必须是可调用的,也就是说可以被调用执行的函数。比较函数一般在调用 usort() 时定义,通过一个匿名函数或是指定函数名称的方式来定义。比如,你可以这样来定义一个比较函数:
function cmp($a, $b) { if ($a == $b) { return 0; } return ($a < $b) ? -1 : 1; }
在这个比较函数中,$a
和 $b
分别代表 usort() 函数传入的要比较的两个参数。根据自己的需求,你可以自定义比较函数的实现方法。比较函数返回值可以是 0、-1 或 1。若返回 0,则代表两个参数相等;若返回 -1,则代表 $a
比 $b
小;若返回 1,则代表 $a
比 $b
大。
接下来,我们来看一下如何使用 usort() 函数来对数组进行排序。假设我们有一个数组,其中包含如下元素:
$array = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3];
如果我们想对这个数组进行排序,可以使用 usort() 函数:
usort($array, "cmp");
这里的 "cmp"
[1, 1, 2, 3, 3, 4, 5, 5, 6, 9]Dans cette fonction de comparaison,
$a
et $b
représentent respectivement les valeurs transmises par l'usort () fonction à comparer de deux paramètres. Selon vos propres besoins, vous pouvez personnaliser la méthode d'implémentation de la fonction de comparaison. La valeur de retour de la fonction de comparaison peut être 0, -1 ou 1. Si 0 est renvoyé, cela signifie que les deux paramètres sont égaux ; si -1 est renvoyé, cela signifie que $a
est plus petit que $b
si 1 est renvoyé, cela signifie que $a
est plus grand que $b
. Comment utiliserEnsuite, voyons comment utiliser la fonction usort() pour trier le tableau. Supposons que nous ayons un tableau contenant les éléments suivants : $students = [ ["name" => "Alice", "age" => 18], ["name" => "Bob", "age" => 20], ["name" => "Charlie", "age" => 19], ];Si nous voulons trier ce tableau, nous pouvons utiliser la fonction usort() :
function cmp_age($a, $b) { if ($a["age"] == $b["age"]) { return 0; } return ($a["age"] < $b["age"]) ? -1 : 1; }
"cmp"
voici la comparaison que nous avons définie Le nom de la fonction. Après avoir exécuté le code ci-dessus, vous pouvez obtenir le tableau trié : la fonction usort($students, "cmp_age");
[ ["name" => "Alice", "age" => 18], ["name" => "Charlie", "age" => 19], ["name" => "Bob", "age" => 20], ]
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!