php

Utilisation de la fonction usort() en PHP

Utilisation de la fonction usort() en PHP
De nombreuses fonctions intégrées existent en PHP pour trier les variables du tableau. La fonction usort() est l'une d'entre elles. Cette fonction trie le tableau en utilisant une fonction de rappel définie par l'utilisateur. Lorsque le tableau contient un type de données particulier qui ne peut pas être trié de manière standard en utilisant d'autres fonctions de tri, il est préférable d'utiliser usort(). Par exemple, si le tableau contient des valeurs de données, la variété ne peut pas être triée de manière appropriée à l'aide d'autres fonctions de tri de PHP. Ce type de collection peut être trié en définissant la fonction définie par l'utilisateur appropriée appelée dans le deuxième argument de la fonction usort() comment la fonction usort() peut trier les valeurs de tableau spécifiques présentées dans ce didacticiel.

Syntaxe:

La syntaxe de la fonction usort() est donnée ci-dessous.

Boolean usort( array $array, callback())

Cette fonction a deux arguments. Les deux arguments sont obligatoires. Le premier argument prend le tableau qui sera trié. La fonction callback() compare les valeurs du tableau pour trier le tableau et renvoie une valeur numérique. Si les arguments de la fonction callback() sont égaux, alors la fonction retournera 0. Si le premier argument de la fonction callback() est supérieur au deuxième argument, il renverra 1. Si le premier argument de la fonction callback() est plus petit que le deuxième argument, il renvoie -1. La fonction usort() renvoie true pour un tri réussi et renvoie false pour un tri infructueux. Certaines utilisations de cette fonction ont été montrées dans la partie suivante de ce tutoriel.

Exemple-1 : Trier un tableau de valeurs de date

L'exemple suivant montre comment un tableau de valeurs de date peut être trié correctement à l'aide de la fonction usort(). Créez un fichier PHP avec le script suivant. $ date_array est défini avec des valeurs à cinq dates. date_tri() la fonction est déclarée comme fonction de rappel pour trier les $ date_array. Les valeurs du tableau sont imprimées avant d'appeler la fonction usort(). Lorsque la fonction usort () est appelée avec le tableau et la fonction de rappel, elle convertira deux valeurs de date en valeurs d'horodatage à l'aide de la fonction strtotime (). Si les deux valeurs d'horodatage sont égales, la fonction renverra 0. Si la première valeur d'horodatage est supérieure à la deuxième valeur d'horodatage, la fonction renverra 1. Si la première valeur d'horodatage est inférieure à la deuxième valeur d'horodatage, la fonction renverra -1. La fonction usort() appellera la fonction de rappel plusieurs fois jusqu'à ce que le $ date_array est bien trié. Ensuite, le tableau trié sera imprimé en utilisant le pour chacun boucle.

//Définition de la fonction de rappel
fonction date_sorte($a, $b)
retour strtotime($a) - strtotime($b);

//Déclare le tableau de valeurs de date
$ date_array = array('25-03-2020', '14-03-2020', '28-02-2015', '09-12-2017', '20-09-2015');
//Imprime les valeurs du tableau avant le tri
écho "

Les valeurs du tableau de dates :

";
foreach($date_array as $value)

echo valeur $."
";

//Trier le tableau en utilisant usort()
usort($ date_array, "sort_date");
//Imprime le tableau après le tri
écho "

La sortie après le tri du tableau de dates :

";
foreach($date_array as $value)

echo valeur $."
";

?>

Production:

La sortie suivante apparaîtra après l'exécution du script à partir du serveur.

Exemple-2 : Trier un tableau associatif

L'exemple suivant montre comment un tableau associatif peut être trié à l'aide de la fonction usort(). Créez un fichier PHP avec le script suivant. noms_tri() la fonction est déclarée une fonction de rappel pour trier le tableau en fonction des valeurs du tableau. L'opérateur ternaire est utilisé dans le noms_tri() fonction pour comparer les valeurs du tableau associatif. Si les deux valeurs sont égales, la fonction de rappel renverra 0. Si la valeur du premier argument est supérieure à la valeur du deuxième argument, la fonction de rappel renverra 1. Si la valeur du premier argument est inférieure à la valeur du deuxième argument, la fonction de rappel renverra -1. usort() triera le tableau en utilisant la fonction de rappel, et le tableau trié sera imprimé en utilisant le pour chacun boucle.

//Définir la fonction pour trier le tableau associatif
fonction sort_names($a, $b)
renvoie $a == $b ? 0 : $a > $b ? 1 : -1 ;

//Définition du tableau associatif
$persons = array("1001"=>"Meera Ali", "1002"=>"Kabir Hossain", "1003"=>"Nurjahan Akter");
//Trier le tableau
usort($personnes, "sort_names");
//Imprime le tableau trié
écho "Les valeurs du tableau trié :
";
foreach($personnes as $person)
echo $personne. "
";
?>

Production:

La sortie suivante apparaîtra après l'exécution du script à partir du serveur.

Exemple-3 : Trier un tableau à deux dimensions

L'exemple suivant montre comment un tableau à deux dimensions peut être trié à l'aide de la fonction usort(). Créez un fichier PHP avec le script suivant. tableau_tri() la fonction est déclarée une fonction de rappel pour trier le tableau en fonction des valeurs du tableau. La fonction strcmp() est utilisée dans la fonction de rappel pour comparer les valeurs du tableau. Si les deux valeurs sont égales, la fonction strcmp() renverra 0. Si la valeur du premier argument est supérieure à la valeur du deuxième argument, la fonction strcmp() renverra 1. Si la valeur du premier argument est inférieure à la valeur du deuxième argument, la fonction strcmp() renverra -1. usort() va trier le tableau en utilisant la fonction de rappel, et la structure du tableau trié sera imprimée en utilisant le print_r() une fonction.

//Définir la fonction pour trier le tableau à deux dimensions
fonction sort_array($a, $b)

return strcmp($a['a'], $b['a']);

//Déclarer le tableau à deux dimensions
$animaux = array(array ("a" => "Lion"), array ("a" => "Deer"), array ("a" => "Lapin"),array ("a" => "Singe") "));
//Trier le tableau
usort($animaux, "sort_array");
//Imprime le tableau trié
écho "Les valeurs du tableau après usort() :
";
print_r($animaux);
écho "
";
?>

Production:

La sortie suivante apparaîtra après l'exécution du script à partir du serveur.

Conclusion:

usort () est une fonction utile pour trier des types de données particuliers qui ne peuvent pas trier correctement les fonctions de tri normales de PHP. La fonction de rappel de la fonction usort() est définie en fonction des types de valeurs nécessaires pour trier. Ce tutoriel aidera les lecteurs à savoir comment utiliser la fonction usort() et l'appliquer dans leur script en fonction de l'exigence.

Comment télécharger et jouer à Civilization VI de Sid Meier sur Linux
Présentation du jeu Civilization 6 est une version moderne du concept classique introduit dans la série de jeux Age of Empires. L'idée était assez sim...
Comment installer et jouer à Doom sur Linux
Introduction à Doom La série Doom est née dans les années 90 après la sortie du Doom original. Ce fut un succès instantané et à partir de ce moment-là...
Vulkan pour les utilisateurs Linux
Avec chaque nouvelle génération de cartes graphiques, nous voyons les développeurs de jeux repousser les limites de la fidélité graphique et se rappro...