PHP usort()

WBOY
WBOYoriginal
2024-08-29 13:05:131039parcourir

Cette fonction est utilisée pour trier un tableau en PHP. Nous pouvons trier notre tableau en fonction de notre logique et de nos exigences, ce qui signifie qu'il trie le tableau défini avec une fonction définie par l'utilisateur. En outre, il supprime toutes les anciennes clés du tableau et attribue de nouvelles clés à chaque élément du tableau. Ces nouvelles clés seront un entier qui commencera de 0 au nombre d'éléments présents dans le tableau.

PUBLICITÉ Cours populaire dans cette catégorie DEVELOPPEUR PHP - Spécialisation | Série de 8 cours | 3 tests simulés

Commencez votre cours de développement de logiciels libres

Développement Web, langages de programmation, tests de logiciels et autres

Syntaxe :

Cette fonction prend deux paramètres en entrée. Quoi qu'il en soit, PHP possède de nombreuses fonctions intégrées qui peuvent être utilisées pour trier les éléments du tableau, mais ici, nous pouvons transmettre une fonction définie par l'utilisateur pour trier notre élément du tableau. C’est l’un des plus points de cette fonction. Discutons de la syntaxe en détail. Voir ci-dessous ;

par ex. :

boolean usort( array, function)

Comme nous pouvons le voir, cette fonction prend deux paramètres en entrée. L'un est le tableau que nous voulons trier et l'autre est la fonction définie par l'utilisateur, qui décidera du tri des éléments du tableau ; bref, comment il se comporterait. Nous allons maintenant voir un exemple pratique pour comprendre la syntaxe de la meilleure façon possible.

par ex. :

usort( $myArr, "demo_sort_function");

Dans la syntaxe ci-dessus, nous transmettons des tableaux et des fonctions définies par l'utilisateur à la fonction usort(). Nous discuterons de la fonction en détail dans la section à venir.

Comment fonctionne la fonction usort() en PHP ?

Pour l'instant, nous savons que la fonction usort() est utilisée pour trier le tableau d'une manière définie par l'utilisateur. Nous pouvons définir notre propre logique pour trier les éléments du tableau. PHP propose de nombreuses fonctions intégrées qui trient un tableau, mais l'un des avantages ici est que nous pouvons écrire ici notre algorithme de tri pour trier. De plus, cette fonction supprimera toutes les anciennes clés des éléments du tableau et attribuera à chacun d'eux une nouvelle clé. Cet ordre de touches commencera à partir de 0 et ainsi de suite jusqu'à la durée de la fonction. Nous allons maintenant discuter en détail des paramètres que cette fonction prend en entrée ainsi que du type de retour de la fonction. voir ci-dessous

Cette fonction prend deux paramètres qui sont les suivants :

1) $array (premier paramètre) : C'est le premier paramètre que cette fonction prend en entrée. Nous pouvons définir un tableau et le transmettre ici. Ce sera le tableau que nous voulons trier d'une nouvelle manière.

2) comparison_function (deuxième param) : C'est le deuxième paramètre que cette fonction prend comme argument, et ce sera la fonction définie par l'utilisateur contenant la logique de tri avec il. Nous pouvons définir une fonction et appeler la fonction définie par l'utilisateur à partir de cette fonction usort(). Nous devons passer le nom dans « function_name » de cette manière. Ci-dessous, nous appelons une fonction dans laquelle nous trions notre tableau en fonction du nom.

par exemple. :

usort($arr, "sortByName")

3) Booléen (type de retour) : Le type de retour pour cette fonction est booléen, et Booléen représente la valeur VRAI ou FAUX selon le résultat de la fonction. Cette fonction retournera FALSE en cas d'échec et TRUE en cas de réussite. Nous allons maintenant voir un exemple pratique de la façon dont cela fonctionne dans la réalité et où nous pouvons utiliser cette fonction. Voici l'exemple pratique permettant aux débutants de comprendre son déroulement et son fonctionnement. Voir ci-dessous ;

ex. :

function my_function_to_sort($a1,$b1)
{
if ($a1==$b1) return 0;
if ($a1 < $b1)
return 1;
else
return -1;
}
$myarr=array(40, 50, 20, 10, 100, 500, 20, 18);
usort($myarr,"my_function_to_sort");

Dans l'exemple ci-dessus, nous avons créé un tableau appelé « myarr », qui contiendra tous les éléments que nous souhaitons trier. Ici, nous avons attribué des valeurs à ce tableau telles que 40, 50, 20, 10, 100, 500, 20, 18 et utilisé la fonction de tableau, déjà disponible en PHP. De plus, nous avons créé ici une fonction appelée « my_function_to_sort », cette fonction est chargée de trier les éléments du tableau en fonction de la condition que nous avons renvoyée. À l’intérieur de cela, nous avons principalement écrit la logique si deux valeurs transmises sont supérieures, inférieures ou égales l’une à l’autre. Sur cette base, Wit placera les éléments dans le tableau.

Nous allons maintenant voir les conditions en détail. Quelle est la signification de 1, -1 et 0 ici ? Discutons-en en détail. Voir ci-dessous ;

1) 0 : Si les deux éléments sont égaux, il renverra 0 ici.

2) 1 : À partir de la condition ci-dessus, nous pouvons voir que si a1 est plus petit que b1 alors il renverra 1.

3) -1 : À partir de la condition ci-dessus, nous pouvons voir que si a1 est supérieur à b1 alors il renverra -1.

Et toute la logique sera chargée de trier le tableau d'un entier dans l'ordre croissant ou décroissant. Dans le programme ci-dessus, il effectuera pour nous le tri décroissant des éléments du tableau.

After this, we are calling usort() function, and here we pass our own parameters here, and that is named ‘$myarr’ ‘my_function_to_sort’. This we can say a custom sorting that we have implemented by using the usort ()
function.

Examples of PHP usort()

Lets us discuss the examples of PHP usort().

Example 1

1) In this example, we are sorting an array of an integer using usort() function available in PHP. This is a custom sort, and we are sorting in descending order.




Demo for usort() funciton in PHP

******************** START ***************

"; echo "

values are ::

"; echo "
"; $lenarr=count($myarr); for($i=0;$i<$lenarr;$i++) { echo "Inside loop printing values :::"; echo $myarr[$i]; echo "
"; } ?>

******************** END ***************

Output:

PHP usort()

Example 2

In this example, we are trying to sort an array of the string by using the usort() function available in PHP. Here we are sorting in ascending order or natural order.

<!DOCTYPE html>
<html>
<body>
<p>Demo for usort() funciton in PHP</p>
<p>******************** START ***************</p>
<?php
function my_function_to_sort($a1,$b1)
{
if ($a1==$b1) return 0;
if ($a1 < $b1)
return -1;
else
return 1;
}
$myarr=array("red","yellow", "orange", "black","pink","purple","brown");
usort($myarr,"my_function_to_sort");
echo "<br>";
echo "<p>values are ::</p>";
echo "<br>";
$lenarr=count($myarr);
for($i=0;$i<$lenarr;$i++)
{
echo "Inside loop printing values :::";
echo $myarr[$i];
echo "<br>";
}
?>
<p>******************** END ***************</p>
</body>
</html>

Output:

PHP usort()

Conclusion

By using this function, we can sort the array in a custom order, or we can say, in a user-defined manner. This can be called a new manner sorting. By using this, we can sort any number of elements in the array and apply our own logic to sort the data in ascending and descending or natural order.

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!

Déclaration:
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
Article précédent:Tri en PHPArticle suivant:Tri en PHP