2013-04-01 42 views
-1

這是我目前有:例如PHP最大的多個值顯示

$sum = array_count_values($_POST); 
$max_value = max($sum); 
$max_key = array_search($max_value, $sum); 

$總和containes A->2 B->6 C->4max($sum)會再取6,$max_key將獲得6(B中的關鍵這個案例)。

現在如果$sum是這樣的? A->3 B->7 C->7,它需要B->6作爲最高值。

我想$max_key是一個數組包含字母B和C在這種情況下 所以我可以在foreach循環中使用它。

謝謝,洛朗

+0

只需遍歷'$ sum'並將具有最高值的鍵添加到數組。無論如何array_search循環它,它並沒有做魔術。 – DiscoInfiltrator

回答

3

如果你只是想從陣列最大值的鍵試試這個,

$array = array("A" => 2,"B" => 7,"C" => "7"); 
$maxs_keys = array_keys($array, max($array)); 
print_r($maxs_keys); 

Codepad Demo.

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提取它們。