2013-01-04 24 views
-3

我想根據玩家id從一個數組中找出最大的event值。有玩家ID的兩組一個10125和10132根據玩家ID從陣列中找到gratest事件值

我有一個數組下面給出:

Array 
(
[0] => Array 
    (
     [event] => 200 
     [playerid] => 10125 
     [session] => 23131885ccc560bb6c8ead02eb4919c1 
    ) 

[1] => Array 
    (
     [event] => 199 
     [playerid] => 10125 
     [session] => 23131885ccc560bb6c8ead02eb4919c1 
    ) 

[2] => Array 
    (
     [event] => 198 
     [playerid] => 10125 
     [session] => 23131885ccc560bb6c8ead02eb4919c1 
    ) 

[3] => Array 
    (
     [event] => 197 
     [playerid] => 10125 
     [session] => 23131885ccc560bb6c8ead02eb4919c1 
    ) 

[4] => Array 
    (
     [event] => 196 
     [playerid] => 10125 
     [session] => 23131885ccc560bb6c8ead02eb4919c1 
    ) 

[5] => Array 
    (
     [event] => 31 
     [playerid] => 10132 
     [session] => 5a87375972ab4734e600c2dc1cec2ded 
    ) 

[6] => Array 
    (
     [event] => 30 
     [playerid] => 10132 
     [session] => 5a87375972ab4734e600c2dc1cec2ded 
    ) 

[7] => Array 
    (
     [event] => 29 
     [playerid] => 10132 
     [session] => 5a87375972ab4734e600c2dc1cec2ded 
    ) 

[8] => Array 
    (
     [event] => 28 
     [playerid] => 10132 
     [session] => 5a87375972ab4734e600c2dc1cec2ded 
    ) 

[9] => Array 
    (
     [event] => 29 
     [playerid] => 10132 
     [session] => 5a87375972ab4734e600c2dc1cec2ded 
    ) 

[10] => Array 
    (
     [event] => 28 
     [playerid] => 10132 
     [session] => 5a87375972ab4734e600c2dc1cec2ded 
    ) 

[11] => Array 
    (
     [event] => 28 
     [playerid] => 10132 
     [session] => 5a87375972ab4734e600c2dc1cec2ded 
    ) 

[12] => Array 
    (
     [event] => 27 
     [playerid] => 10132 
     [session] => 5a87375972ab4734e600c2dc1cec2ded 
    ) 

[13] => Array 
    (
     [event] => 26 
     [playerid] => 10132 
     [session] => 5a87375972ab4734e600c2dc1cec2ded 
    ) 

[14] => Array 
    (
     [event] => 25 
     [playerid] => 10132 
     [session] => 5a87375972ab4734e600c2dc1cec2ded 
    ) 

[15] => Array 
    (
     [event] => 24 
     [playerid] => 10132 
     [session] => 5a87375972ab4734e600c2dc1cec2ded 
    ) 

[16] => Array 
    (
     [event] => 23 
     [playerid] => 10132 
     [session] => 5a87375972ab4734e600c2dc1cec2ded 
    ) 

[17] => Array 
    (
     [event] => 25 
     [playerid] => 10132 
     [session] => 5a87375972ab4734e600c2dc1cec2ded 
    ) 

[18] => Array 
    (
     [event] => 24 
     [playerid] => 10132 
     [session] => 5a87375972ab4734e600c2dc1cec2ded 
    ) 

[19] => Array 
    (
     [event] => 23 
     [playerid] => 10132 
     [session] => 5a87375972ab4734e600c2dc1cec2ded 
    ) 

[20] => Array 
    (
     [event] => 22 
     [playerid] => 10132 
     [session] => 5a87375972ab4734e600c2dc1cec2ded 
    ) 

[21] => Array 
    (
     [event] => 21 
     [playerid] => 10132 
     [session] => 5a87375972ab4734e600c2dc1cec2ded 
    ) 

[22] => Array 
    (
     [event] => 20 
     [playerid] => 10132 
     [session] => 5a87375972ab4734e600c2dc1cec2ded 
    ) 

[23] => Array 
    (
     [event] => 19 
     [playerid] => 10132 
     [session] => 5a87375972ab4734e600c2dc1cec2ded 
    ) 

[24] => Array 
    (
     [event] => 18 
     [playerid] => 10132 
     [session] => 5a87375972ab4734e600c2dc1cec2ded 
    ) 

[25] => Array 
    (
     [event] => 1 
     [playerid] => 10132 
     [session] => 5a87375972ab4734e600c2dc1cec2ded 
    ) 

) 

所以結果一樣

[0] => Array 
(
    [event] => 200 
    [playerid] => 10125 
    [session] => 23131885ccc560bb6c8ead02eb4919c1 
) 

[5] => Array 
(
    [event] => 31 
    [playerid] => 10132 
    [session] => 5a87375972ab4734e600c2dc1cec2ded 
) 
+1

如果數據來自數據庫比根據需求創建查詢,而不是掙扎ng在PHP中。 –

+0

你有什麼試過,你卡在哪裏,**你的問題究竟是什麼**? – deceze

+0

@suresh ya數據來自數據庫,但有內部查詢,所以不可能找出最大值 –

回答

0

您可以在陣列最高到最低排序和然後抓住第一項...

function cmp($a, $b) 
{ 
    if ($a->playerId == $b->playerId) { 
     return 0; 
    } 
    return ($a->playerId > $b->playerId) ? -1 : 1; 
} 

usort($array, "cmp");