2017-10-22 64 views
1

我想使用PHP在下面的數組中得到最高的出現次數,但有2個最高發生次數。如何在出現兩個或更多最高出現次數時輸出最高出現的數組值?

$cars = array('volvo', 'benz','honda','volvo','toyota', 'toyota'); 

我用低於適用於單個結果的代碼,但是當有兩個最高發生,它只輸出兩個中的一個。

$c = array_count_values($cars); 
$val = array_search(max($c), $c); 

即使存在兩個或更多類似的結果,如何獲得數組中出現的最高頻率?

回答

1

對於這一點,你可以使用array_keys其可選的第二個參數:

$counts = array_count_values($cars); 
$top = array_keys($counts, max($counts)); 

從手冊:

如果指定了可選的search_value [第二個參數],則只有鑰匙該值將被返回。否則,返回數組中的所有鍵。

對於在OP給出的輸入,結果是:

array(2) { 
    [0]=> 
    string(5) "volvo" 
    [1]=> 
    string(6) "toyota" 
} 

See it live on 3v4l.org.

+0

它工作得很好。謝謝 –

相關問題