이전 글에서는 문자열에서 문자 발생 횟수를 계산하는 방법을 소개했습니다. 관심이 있으시면 링크를 클릭하여 → "PHP 문자열 학습: 문자 발생 횟수 계산을 읽어보세요. ". 이제 문자 수 계산 방법을 소개했으니 배열 요소에 대해서도 살펴보겠습니다. 이번에는 배열 요소의 발생 수를 계산하는 방법에 대해 알아보겠습니다.
제목 그대로 이번 글의 주제는 배열 요소의 발생 횟수를 센 후, 발생 횟수를 비교하고, 가장 많이 발생하는 요소(반복률)를 찾아 그 값과 발생 횟수를 출력하는 것입니다. .
아래 예시를 살펴보겠습니다.
<?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}次"; ?>
위 코드를 분석하여 각 핵심 기능의 역할을 소개하겠습니다.
array_count_values($array)
이 함수는 $array 배열의 모든 값을 계산하고 각 배열 요소의 발생 횟수를 계산하여 연관 배열을 반환합니다. >$주파수, 해당 요소 키 이름은 원래 배열의 값이고, 키 값은 값이 원래 배열에 나타나는 횟수입니다. array_count_values($array)
函数可以对$array数组中的所有值进行计数,统计每个数组元素的出现次数;会返回一个关联数组$frequency
,其元素键名是原数组的值,键值是该值在原数组中出现的次数。
这个返回的关联数组$frequency
中的元素顺序是参考原数组$array的元素顺序,因此元素是零散排列的,没有规律。因此使用arsort($frequency)
来按照键值对数组进行降序排序,这样键值(出现次数)最大的元素会在数组的开头。
然后我们就可以使用reset($frequency)
来将数组内部指针指向$frequency数组的第一个元素(该元素就是$frequency数组的当前元素了),并返回该元素,这样就获取到原数组中重复率最高的元素的出现次数。
最后使用key($frequency)
就可以获取$frequency数组当前元素的键名,即原数组的值。
看看输出结果为:
可以看出$arrays
반환된 연관 배열 $주파수
의 요소 순서는 원래 배열 $array의 요소 순서를 기반으로 하므로 요소가 분산되고 불규칙하게 배열됩니다. 따라서 arsort($주파수)
를 사용하여 키 값을 기준으로 내림차순으로 배열을 정렬하면 키 값(발생 횟수)이 가장 큰 요소가 배열의 시작 부분에 오도록 합니다.
그런 다음 reset($주파수)
를 사용하여 배열의 내부 포인터를 $주파수 배열의 첫 번째 요소(이 요소는 $주파수 배열), 요소를 반환하여 원래 배열에서 반복률이 가장 높은 요소의 발생 횟수를 얻습니다.
key($주파수)
를 사용하여 $주파수 배열의 현재 요소에 대한 키 이름, 즉 원래 배열의 값을 가져옵니다. 🎜🎜출력 결과를 살펴보세요: 🎜🎜🎜🎜🎜$arrays
배열에서 반복률이 가장 높은(가장 많이 발생하는) 요소는 숫자 " 10". 이 요소는 총 3번 나타났습니다. 🎜🎜그렇습니다. 더 알고 싶다면 여기를 클릭하세요. → →🎜php 동영상 튜토리얼🎜🎜🎜마지막으로 PHP 배열에 대한 무료 동영상 튜토리얼을 추천합니다: 🎜PHP 함수 배열 배열 함수 동영상 설명🎜, 와서 배워보세요! 🎜위 내용은 반복률이 가장 높은 값을 찾는 PHP 배열 학습의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!