数组中的最大值(StdClass错误)

时间:2014-07-05 13:03:38

标签: php arrays string loops

$ gameAPI->游戏

"games": [
        {
            "appid": 10,
            "playtime_forever": 32
        },
        {
            "appid": 20,
            "playtime_forever": 0
        },
        {
            "appid": 30,
            "playtime_forever": 0
        },
        ]

我想获取appid + playtime_forever数据,其中playtime_forever在列表中的值最高。

我使用了以下代码:

$data = array_reduce($data, function ($a, $b) {
    return @$a['playtime_forever'] > $b['playtime_forever'] ? $a : $b;
});

$ data = $ gameAPI-> games;

但是我收到以下错误:无法使用stdClass类型的对象作为数组。在线:

return @$a['playtime_forever'] > $b['playtime_forever'] ? $a : $b;

1 个答案:

答案 0 :(得分:2)

正如您的错误所述,您正在使用Object as Array。要在PHP中访问对象属性,请使用箭头表示法->

return $a->playtime_forever > $b->playtime_forever ? $a : $b;