我正在尝试使用PHP在下面的数组中获得最高出现次数,但最多出现2次。
$cars = array('volvo', 'benz','honda','volvo','toyota', 'toyota');
我使用下面的代码对单个结果起作用,但是当出现两次最高时,它只输出两个中的一个。
$c = array_count_values($cars);
$val = array_search(max($c), $c);
即使有两个或两个以上相似的结果,我怎样才能获得数组中出现的最高值?
答案 0 :(得分: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"
}