Maison  >  Article  >  développement back-end  >  Comment trouver le classement d'un nombre dans un tableau en php

Comment trouver le classement d'un nombre dans un tableau en php

PHPz
PHPzoriginal
2023-04-23 10:14:491069parcourir

Dans de nombreux cas, nous devons interroger le classement d'un nombre dans un tableau. Par exemple, dans une série de résultats de tests, nous souhaitons connaître notre classement. En PHP, nous pouvons utiliser différentes méthodes pour réaliser cette fonction. Ci-dessous, je présenterai quelques méthodes de mise en œuvre.

Méthode 1 : Utilisez la fonction array_search

La fonction array_search peut rechercher une valeur donnée dans un tableau et renvoyer le nom de la clé où elle se trouve. Avec l'aide de cette fonction, nous pouvons facilement obtenir la position d'un certain nombre dans le tableau, puis le comparer avec d'autres scores pour obtenir le classement. Voici un exemple de code :

<?php
$grades = array(85, 90, 73, 79, 92, 88, 75);
rsort($grades); // 按照从高到低的顺序排序
$rank = array_search(79, $grades) + 1;
echo "您的成绩在数组中的排名是第 $rank 名。";
?>

Dans le code ci-dessus, la fonction rsort trie le tableau de haut en bas. Ensuite, nous utilisons la fonction array_search pour trouver la position du nombre 79 dans le tableau, et ajoutons 1 pour obtenir le classement. Affichez simplement le classement final.

Remarque : s'il y a plusieurs nombres identiques dans le tableau, la fonction array_search ne renverra que le nom de clé du premier élément correspondant. Si vous avez besoin d'obtenir les positions de tous les éléments correspondants, vous devez parcourir l'ensemble du tableau pour les trouver.

Méthode 2 : utiliser les fonctions array_flip et asort

Cette méthode nécessite d'abord d'utiliser la fonction array_flip pour échanger les clés et les valeurs du tableau d'origine, puis d'utiliser la fonction asort pour trier le tableau par ordre croissant par valeur, puis en utilisant la fonction array_flip pour échanger les clés et les valeurs Swap back. Enfin, trouvez simplement la position du nombre donné dans le nouveau tableau. Voici l'exemple de code :

<?php
$grades = array(85, 90, 73, 79, 92, 88, 75);
$flipped_array = array_flip($grades);
asort($flipped_array);
$rank = array_search(79, $flipped_array) + 1;
echo "您的成绩在数组中的排名是第 $rank 名。";
?>

Dans le code ci-dessus, nous échangeons d'abord les clés et les valeurs du tableau d'origine, puis trions par valeur par ordre croissant. De cette façon, la clé ayant la plus petite valeur est classée en premier, la clé ayant la deuxième plus petite valeur est classée en deuxième, et ainsi de suite. Enfin, trouvez simplement la position du nombre donné dans le nouveau tableau et ajoutez 1.

Résumé :

Les deux méthodes ci-dessus peuvent être utilisées pour trouver le classement d'un certain nombre dans un tableau. Il convient de noter que s'il y a plusieurs nombres identiques dans le tableau, l'ensemble du tableau doit être parcouru pour déterminer sa position dans le tableau. De plus, différentes méthodes ont également différents scénarios applicables, et elles doivent être sélectionnées et utilisées en fonction de la situation réelle.

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