这就是我现在所拥有的:
$sum = array_count_values($_POST);
$max_value = max($sum);
$max_key = array_search($max_value, $sum);
$ sum包含例如A->2 B->6 C->4
然后max($sum)
将获得6,$max_key
将获得该关键字6(在这种情况下为B)。
现在如果$sum
是这样的呢? A->3 B->7 C->7
,B->6
为最高值。
我希望$max_key
是一个包含字母B和C的数组
所以我可以在foreach循环中使用它。
谢谢,Laurent
答案 0 :(得分:3)
如果你只想要数组中最大值的键,试试这个,
$array = array("A" => 2,"B" => 7,"C" => "7");
$maxs_keys = array_keys($array, max($array));
print_r($maxs_keys);
答案 1 :(得分:0)
如果你有PHP 5.3,那么你可以方便地使用array_filter:
$sum = array( 'A'=>3, 'B'=>7, 'C'=>7 );
$max_value = max($sum);
$result = array_filter( $sum, function($x) use ($max_value) { return $x === $max_value; } );
print_r($result);
上面的代码段将打印您想要的内容: 排列 ( [B] => 7 [C] => 7 )
如果只需要结果的键,请使用array_keys来提取它们。