Maison  >  Article  >  développement back-end  >  Tableau PHP apprenant à trouver la valeur avec le taux de répétition le plus élevé

Tableau PHP apprenant à trouver la valeur avec le taux de répétition le plus élevé

青灯夜游
青灯夜游original
2021-08-10 17:12:534634parcourir

Dans l'article précédent, nous avons présenté la méthode de comptage du nombre d'occurrences de caractères dans une chaîne. Si vous êtes intéressé, vous pouvez cliquer sur le lien pour vérifier → "Apprentissage des chaînes PHP : compter les occurrences de caractères". Maintenant que nous avons introduit la méthode de comptage du nombre de caractères, examinons également les tableaux. Cette fois, nous allons vous montrer comment compter le nombre d'occurrences d'éléments d'un tableau. Vous pouvez vous y référer si vous en avez besoin.

Comme le titre l'indique, le thème de cet article est de compter le nombre d'occurrences d'éléments du tableau, puis de comparer le nombre d'occurrences, de trouver l'élément avec le plus d'occurrences (taux de répétition) et d'afficher sa valeur et son nombre d'occurrences. .

Jetons un coup d’œil à un exemple ci-dessous.

<?php
header("Content-Type: text/html;charset=utf-8");    //设置字符编码
$array = array(7,"hello",7,8,"world",9,10,10,"hello",10);
$frequency = array_count_values($array);   // 统计数组中所有值出现的次数
echo "每个元素对应的出现次数:";
var_dump($frequency);
echo "按照键值进行降序排序:";
arsort($frequency); // 按照键值对数组进行降序排序
var_dump($frequency);
$max_number = reset($frequency);//出现最多的次数值
$more_value = key($frequency);//出现次数最多的值
echo "数组中出现次数最多的值为:{$more_value},总共出现{$max_number}次";
?>

Analysons le code ci-dessus et introduisons le rôle de chaque fonction clé.

  • array_count_values($array)La fonction peut compter toutes les valeurs du tableau $array et compter le nombre d'occurrences de chaque élément du tableau, elle renverra un tableau associatif$fréquence, son nom de clé d'élément est la valeur du tableau d'origine et la valeur de clé est le nombre de fois que la valeur apparaît dans le tableau d'origine. <code>array_count_values($array)函数可以对$array数组中的所有值进行计数,统计每个数组元素的出现次数;会返回一个关联数组$frequency,其元素键名是原数组的值,键值是该值在原数组中出现的次数。

  • 这个返回的关联数组$frequency中的元素顺序是参考原数组$array的元素顺序,因此元素是零散排列的,没有规律。因此使用arsort($frequency)来按照键值对数组进行降序排序,这样键值(出现次数)最大的元素会在数组的开头。

  • 然后我们就可以使用reset($frequency)来将数组内部指针指向$frequency数组的第一个元素(该元素就是$frequency数组的当前元素了),并返回该元素,这样就获取到原数组中重复率最高的元素的出现次数。

  • 最后使用key($frequency)就可以获取$frequency数组当前元素的键名,即原数组的值。

看看输出结果为:

Tableau PHP apprenant à trouver la valeur avec le taux de répétition le plus élevé

可以看出$arrays

L'ordre des éléments dans le tableau associatif renvoyé $fréquence est basé sur l'ordre des éléments du tableau d'origine $array, de sorte que les éléments sont disposés dispersés et irréguliers. Par conséquent, utilisez arsort($ Frequency) pour trier le tableau par ordre décroissant par valeur de clé, de sorte que l'élément avec la plus grande valeur de clé (nombre d'occurrences) soit au début du tableau.

Ensuite, nous pouvons utiliser reset($fréquence) pour pointer le pointeur interne du tableau vers le premier élément du tableau $fréquence (cet élément est l'élément actuel du $ Frequency array ), et renvoie l'élément, obtenant ainsi le nombre d'occurrences de l'élément avec le taux de répétition le plus élevé dans le tableau d'origine.

Enfin, utilisez key($fréquence) pour obtenir le nom de clé de l'élément actuel du tableau $fréquence, qui est la valeur du tableau d'origine. 🎜🎜Regardez le résultat de sortie : 🎜🎜Tableau PHP apprenant à trouver la valeur avec le taux de répétition le plus élevé🎜🎜🎜On peut voir que dans le tableau $arrays, l'élément avec le taux de répétition le plus élevé (le plus d'occurrences) est le nombre " 10". Cet élément a un total de Apparu 3 fois. 🎜🎜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