2014-03-30 53 views
0

我有一個不工作的php/mysql數據庫網站,我希望有一點幫助。根據數組中的值選擇最高密鑰

這是我想達到的效果:我有3個類別(評論者,訪問者和所有者),每個類別具有從數據庫中提取的不同整數值(分別爲$ total1,$ total2,$ total3)。我想比較$ total的3個值並找出哪個值最高。如果$ total2是最高的,我希望$ Popular的值設置爲「visitor」;如果$共3是最高的,我想$流行是「所有者)

我試着這樣做:

$Popular_array = array ('commenter' => $total1, 'visitor' => $total2, 'owner' => $total3); 
$Popular = max (array_keys ($Popular_array)); 

但這是結果,當我輸出使用的print_r變量:

Array ([commenter] => 50 [visitor] => 13 [owner] => 38) 
owner 

我已閱讀Search for highest key/index in an array但它並不完全符合我要找的,因爲上述解決方案不起作用。我在做什麼錯了?謝謝!

+0

你比較你的鑰匙,而不是值。 – Shomz

回答

1

正如我所說的意見,你要比較你的鑰匙,而不是值。 所以你需要獲取值最高的數組成員的密鑰。你可以這樣說:

$Popular = array_search(max($Popular_array), $Popular_array); 

看到它在這裏的行動:http://ideone.com/Np6xp6

1

這個問題我s您正在尋找最大而不是,這將不會返回所需的結果。你可能會需要使用array_values()然後​​:

$Popular_array = array ('commenter' => $total1, 'visitor' => $total2, 'owner' => $total3); 
$Popular = array_search (max (array_values ($Popular_array)), $Popular_array); 
相關問題