您好,登錄后才能下訂單哦!
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數組當前元素的鍵名,即原數組的值。
看看輸出結果為:
可以看出$arrays
數組中,重復率最高(出現次數最多)的元素為數字“10”,該元素一共出現了3次。
看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。