【问题标题】:Extract data fron JSON array using loop使用循环从 JSON 数组中提取数据
【发布时间】:2016-08-20 15:30:32
【问题描述】:

我正在尝试过滤 JSON 数组响应,因为我只需要一小部分结果。

我只需要得到玩家displayName

这是第一个玩家的休息区,每场比赛最多可以有 12 个玩家。

我需要一些可以循环并提取名称的东西..

[displayName] => jonhofun

目前我可以获得所需数据的唯一方法是通过做

$player1 = $json11['Response']['data']['entries']['0']['player']['destinyUserInfo']['displayName'];
$player2 = $json11['Response']['data']['entries']['1']['player']['destinyUserInfo']['displayName'];
etc... etc...

这是原始回复

Array
(
[Response] => Array
    (
        [data] => Array
            (
                [period] => 2016-08-20T10:16:46Z
                [activityDetails] => Array
                    (
                        [referenceId] => 3156370656
                        [instanceId] => 5370359303
                        [mode] => 12
                        [activityTypeHashOverride] => 3614615911
                    )

                [entries] => Array
                    (
                        [0] => Array
                            (
                                [standing] => 0
                                [score] => Array
                                    (
                                        [basic] => Array
                                            (
                                                [value] => 2190
                                                [displayValue] => 2,190
                                            )

                                    )

                                [player] => Array
                                    (
                                        [destinyUserInfo] => Array
                                            (
                                                [iconPath] => /common/destiny_content/icons/d0d3cd4c26aa1a931d46c4bf720856ba.jpg
                                                [membershipType] => 2
                                                [membershipId] => 4611686018454971653
                                                [displayName] => jonhofun
                                            )

                                        [characterClass] => Warlock
                                        [characterLevel] => 40
                                        [lightLevel] => 322
                                    )
                            )
                    )
            )
    )
)

任何帮助将不胜感激。

【问题讨论】:

  • 使用 for 循环就完成了!
  • 我不知道该怎么做 :( 这就是问题所在......它在网上说的只是 $key => $value 但我如何告诉它我想要它得到什么??

标签: php arrays json sorting


【解决方案1】:

您需要遍历“条目”下的子数组。

foreach ($json11['Response']['data']['entries'] as $entries) {
    $player_names[] = $entries['player']['destinyUserInfo']['displayname'];
}

echo "<pre>";
print_r($player_names);    // Check all player names

【讨论】:

  • 谢谢,这已经解决了我的问题,现在租用我将来会知道如何编写foreach循环。
猜你喜欢
  • 1970-01-01
  • 2023-02-25
  • 1970-01-01
  • 2015-04-22
  • 2014-07-05
  • 2014-08-31
  • 2018-06-29
  • 2016-04-24
  • 2016-10-11
相关资源
最近更新 更多