首頁 >後端開發 >php教程 >PHP數組學習找出重複率最高的值

PHP數組學習找出重複率最高的值

青灯夜游
青灯夜游原創
2021-08-10 17:12:534758瀏覽

在上一篇文章中我們介紹了統計字串中字元出現次數的方法,感興趣的可以點擊連結查閱→《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陣列中的所有值進行計數,統計每個陣列元素的出現次數;會傳回一個關聯數組$frequency,其元素鍵名是原始數組的值,鍵值是該值在原始數組中出現的次數。

  • 這個傳回的關聯數組$frequency中的元素順序是參考原始數組$array的元素順序,因此元素是零散排列的,沒有規律。因此使用arsort($frequency)來依照鍵值對陣列進行降序排序,這樣鍵值(出現次數)最大的元素會在陣列的開頭。

  • 然後我們就可以使用reset($frequency)來將陣列內部指標指向$frequency陣列的第一個元素(該元素就是$ frequency數組目前的元素了),並傳回該元素,這樣就取得到原始數組中重複率最高的元素的出現次數。

  • 最後使用key($frequency)就可以取得$frequency陣列目前元素的鍵名,也就是原始陣列的值。

看看輸出結果為:

PHP數組學習找出重複率最高的值

#可以看出$arrays在陣列中,重複率最高(出現次數最多)的元素為數字“10”,此元素總共出現了3次。

好了就說到這裡了,有其他想知道的,可以點選這個喔。 → →php影片教學

最後推薦給大家一個PHP陣列的免費影片教學:PHP函數之array陣列函數影片講解,快來學習吧!

以上是PHP數組學習找出重複率最高的值的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn