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 de 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 particulier de données qui ne peuvent pas être triées de manière standard en utilisant d'autres fonctions de tri, alors USORT () est préférable à utiliser. 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 appropriée définie par l'utilisateur appelé dans le deuxième argument de la fonction USORT () comment la fonction USORT () peut trier les valeurs de tableau spécifiques affichées dans ce didacticiel.

Syntaxe:

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

Booléen 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 de rappel () compare les valeurs du tableau pour trier le tableau et renvoie une valeur numérique. Si les arguments de la fonction de rappel () sont égaux, alors la fonction retournera 0. Si le premier argument de la fonction de rappel () est supérieur au deuxième argument, il renverra 1. Si le premier argument de la fonction de rappel () est plus petit que le deuxième argument, il renvoie -1. La fonction USORT () renvoie vrai pour une tri réussie et renvoie False pour un tri sans succès. Certaines utilisations de cette fonction se sont 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éer un fichier PHP avec le script suivant. $ date_array est défini avec des valeurs à cinq dates. sort_date () La fonction est déclarée comme une fonction de rappel pour trier le $ 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, il convertira deux valeurs de date en valeurs d'horodatage à l'aide de la fonction strToTime (). Si les deux valeurs d'horodatage sont égales, alors la fonction retournera 0. Si la première valeur d'horodatage est supérieure à la deuxième valeur d'horodatage, alors la fonction retournera 1. Si la première valeur d'horodatage est inférieure à la deuxième valeur d'horodatage, la fonction retournera -1. La fonction usort () appellera la fonction de rappel plusieurs fois $ date_array est trié correctement. Ensuite, le tableau trié sera imprimé en utilisant le pour chacun boucle.

// définir la fonction de rappel
fonction sort_date ($ a, $ b)
Retour StrtoTime ($ a) - strToTime ($ b);

// Déclarer le tableau des 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 de trier
écho "

Les valeurs du tableau de date:

"
foreach ($ date_array comme valeur $)

Echo $ valeur."
"

// trier le tableau à l'aide de usort ()
usort ($ date_array, "sort_date");
// imprime le tableau après le tri
écho "

La sortie après le tri de date de tri:

"
foreach ($ date_array comme valeur $)

Echo $ valeur."
"

?>

Sortir:

La sortie suivante apparaîtra après avoir exécuté le 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éer un fichier PHP avec le script suivant. sort_names () 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 sort_names () fonction pour comparer les valeurs du tableau associatif. Si les deux valeurs sont égales, alors la fonction de rappel reviendra 0. Si la première valeur d'argument est supérieure à la deuxième valeur d'argument, alors la fonction de rappel reviendra 1. Si la première valeur d'argument est inférieure à la deuxième valeur d'argument, alors la fonction de rappel renverra -1. usort () trie le tableau en utilisant la fonction de rappel, et le tableau trié sera imprimé en utilisant le pour chacun boucle.

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

// définir le tableau associatif
$ Persons = Array ("1001" => "Meera Ali", "1002" => "Kabir Hossain", "1003" => "Nurjahan akter");
// trier le tableau
USORT ($ PERSONS, "SORT_NAMES");
// imprime le tableau trié
écho "Les valeurs du tableau trié:
"
foreach ($ les personnes comme $ personne)
Echo $ personne. "
"
?>

Sortir:

La sortie suivante apparaîtra après avoir exécuté le script à partir du serveur.

Exemple-3: trier un tableau bidimensionnel

L'exemple suivant montre comment un tableau bidimensionnel peut être trié à l'aide de la fonction USORT (). Créer un fichier PHP avec le script suivant. sort_array () 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, alors la fonction strcmp () reviendra 0. Si la première valeur d'argument est supérieure à la deuxième valeur d'argument, alors la fonction strcmp () renvoie 1. Si la première valeur d'argument est inférieure à la deuxième valeur d'argument, alors la fonction strcmp () renvoie -1. USORT () trie le tableau en utilisant la fonction de rappel, et la structure du tableau trié sera imprimée à l'aide du print_r () fonction.

// Définissez la fonction pour trier le tableau bidimensionnel
fonction sort_array ($ a, $ b)

Retour Strcmp ($ a ['a'], $ b ['a']);

// déclare le tableau à deux dimensions
$ animaux = array (array ("a" => "lion"), array ("a" => "cerf"), 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 "
"
?>

Sortir:

La sortie suivante apparaîtra après avoir exécuté le script à partir du serveur.

Conclusion:

USORT () est une fonction utile pour trier des types particuliers de données 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.