Maison  >  Article  >  développement back-end  >  Conseils pour apprendre les tableaux PHP et utiliser des fonctions pour extraire les valeurs maximales et secondes maximales

Conseils pour apprendre les tableaux PHP et utiliser des fonctions pour extraire les valeurs maximales et secondes maximales

青灯夜游
青灯夜游original
2021-08-18 14:03:213838parcourir

Dans l'article précédent → "Apprentissage des tableaux PHP : comparaison des éléments d'un tableau et obtention des première et deuxième plus grandes valeurs", nous avons introduit l'utilisation des boucles for pour comparer les tailles des éléments du tableau un par un et obtenir le maximum et deuxièmes valeurs du tableau. La méthode de la deuxième plus grande valeur. Pensez-vous que cette méthode est un peu compliquée ? En fait, on peut utiliser des fonctions PHP pour obtenir la valeur maximale et la deuxième valeur maximale. Découvrons-le ~

Le thème de cet article est le même que le précédent : " Étant donné un ensemble de nombres, calculez Trouvez sa valeur maximale et sa deuxième valeur maximale". Mais nous n'utilisons pas les boucles for et les instructions if cette fois-ci. Nous utilisons les fonctions intégrées de PHP pour y parvenir.

Définissez un tableau contenant un tel ensemble de données :

$arr = array(555,5,1,429,18,21,52,2,52,9,3,);

Vous souhaitez retirer la valeur maximale 555 et la deuxième valeur maximale 429.

Idée d'implémentation 1 :

En fait, il existe une fonction max() intégrée en PHP, qui peut être utilisée pour obtenir la valeur maximale dans le tableau en une seule étape ; du tableau, et le reste. Utilisez ensuite la fonction max() dans les éléments suivants pour obtenir la valeur maximale.

Jetons un coup d'œil au code d'implémentation :

<?php
header("content-type:text/html;charset=utf-8");
$arr = array(555,5,1,429,18,21,52,2,52,9,3,);
$max = max($arr);
$arr = array_diff($arr,array($max));
$secMax = max($arr);
echo "最大值为".$max.",第二大值为".$secMax;
?>

Analyse :

  • Utilisez max($arr) pour obtenir la valeur maximale du tableau et attribuez-la à $max . max($arr)获取数组最大值赋值给$max

  • 然后创建一个只包含$max一个值的新数组,将该数组和$arr数组比较,取差值;简单来说,array_diff($arr,array($max))就是用来删除最大值$max

  • 最后在调用一次max($arr)在剩下的元素中取最大值,就获得到原数组的第二大元素,将该值赋给$secMax

  • Créez ensuite un nouveau tableau contenant une seule valeur de $max, comparez le tableau avec le tableau $arr et prenez la différence en termes simples : array_diff($arr,array($max)) code> permet de supprimer la valeur maximale <code>$max.

Enfin, appelez max($arr) pour obtenir la valeur maximale parmi les éléments restants, puis vous obtiendrez le deuxième plus grand élément du tableau d'origine, et attribuerez cette valeur à $ secMax. Conseils pour apprendre les tableaux PHP et utiliser des fonctions pour extraire les valeurs maximales et secondes maximales

Le résultat de sortie est donc :

Conseils pour apprendre les tableaux PHP et utiliser des fonctions pour extraire les valeurs maximales et secondes maximales

Idée d'implémentation 2 :

Conseils pour apprendre les tableaux PHP et utiliser des fonctions pour extraire les valeurs maximales et secondes maximales

Vous pouvez trier le tableau par ordre croissant ou décroissant en fonction de la taille des valeurs des éléments, puis de la valeur maximale et de la seconde. la plus grande valeur du tableau est : le premier et le deuxième (ordre décroissant) ou le premier au dernier et l'avant-dernier (ordre croissant) éléments

//升序排序
$arr = array(555,5,1,429,18,21,52,2,52,9,3,);
sort($arr);
var_dump($arr);

//降序排序
$arr = array(555,5,1,429,18,21,52,2,52,9,3,);
rsort($arr);
var_dump($arr);

Conseils pour apprendre les tableaux PHP et utiliser des fonctions pour extraire les valeurs maximales et secondes maximales

Nous pouvons simplement supprimer ces deux éléments. Jetons un coup d'œil au code d'implémentation :

<?php
header("content-type:text/html;charset=utf-8");
$arr = array(555,5,1,429,18,21,52,2,52,9,3,);

//降序排序
rsort($arr);
$max = $arr[0];
$secMax = $arr[1];
echo "最大值为".$max.",第二大值为".$secMax."<br>";


//升序排序
sort($arr);
$len = count($arr); //数组长度
$max = $arr[$len-1];
$secMax = $arr[$len-2];
echo "最大值为".$max.",第二大值为".$secMax;
?>

Résultats de sortie :

La méthode de l'ordre croissant doit également prendre en compte le problème de la longueur du tableau, tandis que la méthode de l'ordre décroissant est plus simple.

D'accord, c'est tout. Si vous voulez savoir autre chose, vous pouvez cliquer ici. → →🎜Tutoriel vidéo php🎜🎜🎜Enfin, je recommande un tutoriel vidéo gratuit sur les tableaux PHP : 🎜Explication vidéo de la fonction tableau de fonctions PHP🎜, venez apprendre ! 🎜

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