dpv46227 2013-01-04 11:25
浏览 31
已采纳

根据玩家ID [关闭]从数组中找到最大的事件值

I want to find out the greatest event value from an array by group of player id. There are two groups of player id one 10125 and 10132.

I have an array as given below:

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
    )

)

so Result like

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

[5] => Array
(
    [event] => 31
    [playerid] => 10132
    [session] => 5a87375972ab4734e600c2dc1cec2ded
)
  • 写回答

1条回答 默认 最新

  • drgdn82648 2013-01-04 11:30
    关注

    You could sort the array highest to lowest and then grab the first item...

    function cmp($a, $b)
    {
        if ($a->playerId == $b->playerId) {
            return 0;
        }
        return ($a->playerId > $b->playerId) ? -1 : 1;
    }
    
    usort($array, "cmp");
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥20 idea运行测试代码报错问题
  • ¥15 网络监控:网络故障告警通知
  • ¥15 django项目运行报编码错误
  • ¥15 请问这个是什么意思?
  • ¥15 STM32驱动继电器
  • ¥15 Windows server update services
  • ¥15 关于#c语言#的问题:我现在在做一个墨水屏设计,2.9英寸的小屏怎么换4.2英寸大屏
  • ¥15 模糊pid与pid仿真结果几乎一样
  • ¥15 java的GUI的运用
  • ¥15 我想付费需要AKM公司DSP开发资料及相关开发。