溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

php中怎么找出數(shù)組中重復(fù)率最高的值

發(fā)布時間:2021-08-10 17:38:26 來源:億速云 閱讀:169 作者:Leah 欄目:編程語言

php中怎么找出數(shù)組中重復(fù)率最高的值,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來學(xué)習(xí)下,希望你能有所收獲。

我們來看看下面一個例子。

<?php
header("Content-Type: text/html;charset=utf-8");    //設(shè)置字符編碼
$array = array(7,"hello",7,8,"world",9,10,10,"hello",10);
$frequency = array_count_values($array);   // 統(tǒng)計數(shù)組中所有值出現(xiàn)的次數(shù)
echo "每個元素對應(yīng)的出現(xiàn)次數(shù):";
var_dump($frequency);
echo "按照鍵值進(jìn)行降序排序:";
arsort($frequency); // 按照鍵值對數(shù)組進(jìn)行降序排序
var_dump($frequency);
$max_number = reset($frequency);//出現(xiàn)最多的次數(shù)值
$more_value = key($frequency);//出現(xiàn)次數(shù)最多的值
echo "數(shù)組中出現(xiàn)次數(shù)最多的值為:{$more_value},總共出現(xiàn){$max_number}次";
?>

我們來分析一下上述代碼,介紹一下各關(guān)鍵函數(shù)的作用。

  • array_count_values($array)函數(shù)可以對$array數(shù)組中的所有值進(jìn)行計數(shù),統(tǒng)計每個數(shù)組元素的出現(xiàn)次數(shù);會返回一個關(guān)聯(lián)數(shù)組$frequency,其元素鍵名是原數(shù)組的值,鍵值是該值在原數(shù)組中出現(xiàn)的次數(shù)。

  • 這個返回的關(guān)聯(lián)數(shù)組$frequency中的元素順序是參考原數(shù)組$array的元素順序,因此元素是零散排列的,沒有規(guī)律。因此使用arsort($frequency)來按照鍵值對數(shù)組進(jìn)行降序排序,這樣鍵值(出現(xiàn)次數(shù))最大的元素會在數(shù)組的開頭。

  • 然后我們就可以使用reset($frequency)來將數(shù)組內(nèi)部指針指向$frequency數(shù)組的第一個元素(該元素就是$frequency數(shù)組的當(dāng)前元素了),并返回該元素,這樣就獲取到原數(shù)組中重復(fù)率最高的元素的出現(xiàn)次數(shù)。

  • 最后使用key($frequency)就可以獲取$frequency數(shù)組當(dāng)前元素的鍵名,即原數(shù)組的值。

看看輸出結(jié)果為:

php中怎么找出數(shù)組中重復(fù)率最高的值

可以看出$arrays數(shù)組中,重復(fù)率最高(出現(xiàn)次數(shù)最多)的元素為數(shù)字“10”,該元素一共出現(xiàn)了3次。

看完上述內(nèi)容是否對您有幫助呢?如果還想對相關(guān)知識有進(jìn)一步的了解或閱讀更多相關(guān)文章,請關(guān)注億速云行業(yè)資訊頻道,感謝您對億速云的支持。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

php
AI