Maison > développement back-end > tutoriel php > Apprentissage des tableaux PHP : comparez les éléments du tableau et obtenez les première et deuxième plus grandes valeurs

Apprentissage des tableaux PHP : comparez les éléments du tableau et obtenez les première et deuxième plus grandes valeurs

青灯夜游
Libérer: 2023-04-10 15:30:01
original
3157 Les gens l'ont consulté

Dans l'article précédent, nous avons présenté la méthode d'utilisation de l'algorithme à bulles pour trier les éléments du tableau par ordre croissant. Si vous êtes intéressé, vous pouvez cliquer sur le lien pour lire → "Apprentissage des tableaux PHP : Utiliser l'algorithme à bulles pour trier. les éléments par ordre croissant !" 》. Cette fois, nous poursuivons la série d'apprentissage des tableaux PHP et introduisons la méthode de comparaison des éléments du tableau et d'obtention des première et deuxième plus grandes valeurs.

Le thème de cet article est : « Étant donné un ensemble de nombres, calculez ses valeurs maximales et secondes maximales ».

Idée d'implémentation : Utilisez un tableau pour envelopper cet ensemble de nombres, cela implique donc de comparer la taille des éléments du tableau

Définissez deux variables $max et $secMax, utilisé pour stocker la valeur maximale et la deuxième valeur maximale obtenue. Cependant, vous devez d'abord attribuer des valeurs initiales à tout le monde, en leur attribuant le premier élément et le deuxième élément du tableau. Mais assurez-vous que $max est plus grand que $secMax, vous devez donc porter un jugement $max$secMax,用于存放获取到的最大值和第二大值。不过需要先给大家赋初值,将数组第一个元素和第二个元素赋给它们。但要保证$max$secMax大,所以要做一个判断

if ($arr[0] > $arr[1]){//这个if是为了防止出现数组第一个值就是最大值
        $secMax = $arr[1];
    } else if ($arr[0] < $arr[1]){
        $max = $arr[1];
    }
Copier après la connexion

然后使用for循环,不断遍历$arr数组。【不懂的可以阅读文章《PHP循环学习三:如何使用for循环语句遍历数组》】

for ($i = 0;$i< count($arr);$i++){   //循环数组
   //循环体
}
Copier après la connexion

在循环体中,不断将$max$secMax与数组每个值($arr[$i])比较:

  • 如果$arr[$i]$max大,则将$max值赋给$secMax,把$arr[$i]赋给$max

if ($arr[$i] > $max){
    $secMax = $max;
    $max = $arr[$i];
}
Copier après la connexion

Dans le corps de la boucle, comparez continuellement $max, $secMax avec chaque valeur du tableau ($arr[$i] ) Comparaison :

É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