Guide d'utilisation de la fonction PHP usort() : tri des tableaux

王林
Libérer: 2023-06-27 17:58:02
original
1992 Les gens l'ont consulté

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 )
Copier après la connexion

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 )
Copier après la connexion

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);
Copier après la connexion

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 )
)
Copier après la connexion

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal