Maison > Article > développement back-end > Guide d'utilisation de la fonction PHP usort() : tri des tableaux
Guide d'utilisation de la fonction PHP usort() : trier les tableaux
En programmation PHP, nous avons souvent besoin de trier des tableaux. PHP fournit de nombreuses fonctions pour trier les tableaux, parmi lesquelles la fonction usort() peut personnaliser les tableaux de manière flexible. Cet article présentera l'utilisation et les précautions de la fonction usort() et montrera comment utiliser la fonction usort() pour trier un tableau à travers des exemples.
1. Introduction à la fonction usort()
PHP La fonction usort() est une fonction de tri puissante et flexible qui peut trier les tableaux en fonction de fonctions de comparaison définies par l'utilisateur. Si vous devez trier par ordre croissant ou décroissant, vous pouvez utiliser la fonction de tri intégrée de PHP, mais si vous devez trier selon des propriétés ou des règles spécifiques des éléments du tableau, la fonction usort() est très utile.
usort() La syntaxe de la fonction est la suivante :
bool usort ( array &$array , callable $cmp_function )
Le paramètre $array représente le tableau à trier, et le paramètre $cmp_function est une fonction de rappel utilisée pour spécifier la règle de tri. La syntaxe de la fonction de rappel est la suivante :
int cmp_function ( mixed $a , mixed $b )
La fonction de rappel doit renvoyer une valeur entière, qui représente la relation de taille entre $a et $b. Renvoie une valeur entière supérieure à 0 si $a est supérieur à $b ; renvoie une valeur entière inférieure à 0 si $a est inférieur à $b ; renvoie 0 si $a est égal à $b.
2. Exemple d'utilisation de la fonction usort()
Ce qui suit est un exemple pour montrer comment utiliser la fonction usort() pour trier un tableau. Supposons qu'il existe un tableau $employees qui contient des informations sur plusieurs employés. Chaque employé contient trois attributs : identifiant, nom et salaire. Nous devons maintenant trier le tableau des employés par ordre décroissant par salaire.
$employees = array( array('id'=>101, 'name'=>'张三', 'salary'=>5000), array('id'=>102, 'name'=>'李四', 'salary'=>8000), array('id'=>103, 'name'=>'王五', 'salary'=>6000), array('id'=>104, 'name'=>'赵六', 'salary'=>7000), ); function cmp($a, $b) { if ($a['salary'] == $b['salary']) { return 0; } return ($a['salary'] > $b['salary']) ? -1 : 1; } usort($employees, 'cmp'); print_r($employees);
Exécutez le code ci-dessus, vous obtiendrez le résultat suivant :
Array ( [0] => Array ( [id] => 102 [name] => 李四 [salary] => 8000 ) [1] => Array ( [id] => 104 [name] => 赵六 [salary] => 7000 ) [2] => Array ( [id] => 103 [name] => 王五 [salary] => 6000 ) [3] => Array ( [id] => 101 [name] => 张三 [salary] => 5000 ) )
Comme le montrent les résultats ci-dessus, nous utilisons la fonction usort() pour trier le tableau $employés par ordre décroissant, Le résultat final était comme prévu.
3. Notes
Bien que la fonction usort() soit très flexible et puissante, vous devez faire attention à certaines choses lorsque vous l'utilisez.
Tout d'abord, les éléments du tableau à utiliser dans la fonction de rappel doivent exister, sinon une erreur se produira. Par conséquent, avant d'utiliser la fonction usort(), vous devez vous assurer que tous les éléments à utiliser dans le tableau ont été initialisés.
Deuxièmement, la fonction de rappel doit être aussi simple et rapide que possible, sinon cela affectera l'efficacité du programme. Puisque chaque tri nécessite l'appel de la fonction de rappel, l'efficacité de la fonction de rappel a un grand impact sur la vitesse de tri. Lors de l'écriture de fonctions de rappel, vous devez essayer d'éviter d'utiliser un grand nombre de boucles et d'instructions de jugement, ainsi que des calculs complexes.
Enfin, lorsque le nombre d'éléments du tableau est important, l'efficacité de l'algorithme de tri sera également affectée. Dans ce cas, nous pouvons envisager d'utiliser d'autres fonctions de tri telles que les fonctions intégrées sort() et rsort() de PHP.
4. Résumé
Cet article présente brièvement l'utilisation et les précautions de la fonction PHP usort(), et donne un exemple pour montrer comment utiliser cette fonction pour trier un tableau . L'utilisation de la fonction usort() permet de personnaliser de manière flexible et pratique le tri du tableau, mais lors de l'écriture de fonctions de rappel, faites attention à l'efficacité et à la complexité de l'algorithme pour éviter d'affecter les performances du programme.
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!