PHP:获取包含此值的唯一数组

时间:2014-06-04 21:05:08

标签: php arrays json

对于英雄联盟API,我试图让玩家RankedSolo5x5。成功地,我获得了玩家的信息。但阵列数量将根据玩家的数量而变化。没玩过。所以让我们说RankedPremade5x5从未播放过。它不会出现在数组中,从而使得RankedSolo5x5#4而不是#5。

所以不要使用它,只有当用户将其作为第5类时才会起作用。

$soloSummonerRanked[5]->wins;

我正在尝试通过匹配值来获取数组,以便所有这些其他数组都不会妨碍我正在尝试完成的任务。获得该特定游戏类型的获胜次数。我怎么能这样做?

[4] => stdClass Object
    (
        [playerStatSummaryType] => RankedPremade5x5
        [wins] => 0
        [losses] => 0
        [modifyDate] => 1347501723000
        [aggregatedStats] => stdClass Object
            (
            )

    )

[5] => stdClass Object
    (
        [playerStatSummaryType] => RankedSolo5x5
        [wins] => 203
        [losses] => 135
        [modifyDate] => 1401793988000
        [aggregatedStats] => stdClass Object
            (
                [totalChampionKills] => 3092
                [totalMinionKills] => 66904
                [totalTurretsKilled] => 649
                [totalNeutralMinionsKilled] => 8315
                [totalAssists] => 2471
            )

    )

2 个答案:

答案 0 :(得分:1)

你可以获取你的数组并检查playerStatSummaryType以查看它是否与RankedSolo5x5匹配,然后获得胜利。

foreach($games_types as $type) {

  if($type->playerStatSummaryType == 'RankedSolo5x5') {

    $solo_wins = $type->wins;
    break;
  }
}

无论如何,更好的nerf Irelia!

答案 1 :(得分:0)

$winsRankedSolo5x5 = NULL;

foreach($soloSummonerRanked as $rank) {
  if($rank->playerStatSummaryType == 'RankedSolo5x5') {
    $winsRankedSolo5x5 = $rank->wins;
    break;
  }
}

基本上你循环遍历数组的每个元素,寻找统计类型为RankedSolo5x5的元素,当你找到它时,你可以得到wins并随意做任何事情。< / p>