【问题标题】:Parse JSON with PHP using foreach使用 foreach 使用 PHP 解析 JSON
【发布时间】:2017-06-17 05:57:59
【问题描述】:

我已成功解码并回显 JSON 提要。运行此命令后

print_r(json_decode($data,true));

这是我在屏幕上看到的:

Array
(
  [sportId] => 29
  [last] => 96466864
  [league] => Array
    (
        [0] => Array
            (
                [id] => 1980
                [events] => Array
                    (
                        [0] => Array
                            (
                                [id] => 667177156
                                [starts] => 2016-11-26T15:00:00Z
                                [home] => Hull City
                                [away] => W.B.A
                                [rotNum] => 2504
                                [liveStatus] => 1
                                [status] => O
                                [parlayRestriction] => 2
                            )
                        [1] => Array
                            (
                                [id] => 672139467
                                [starts] => 2016-12-10T15:00:00Z
                                [home] => Hull City
                                [away] => Crystal Palace
                                [rotNum] => 2510
                                [liveStatus] => 1
                                [status] => O
                                [parlayRestriction] => 2
                            )
                        [2] => Array
                            (
                                [id] => 676973849
                                [starts] => 2016-12-26T15:00:00Z
                                [home] => Burnley
                                [away] => Middlesbrough
                                [rotNum] => 2519
                                [liveStatus] => 1
                                [status] => O
                                [parlayRestriction] => 2
                            )
                        )
                )
        )
)

我需要能够使用 foreach 来遍历这个关联数组中的每个 [events],并能够得到如下结果:

Hull City v W.B.A.
Hull City v Crystal Palace
Burnley v Middlesbrough

我认为所有内容都已正确解析,现在只需使用正确的语法来回显关联数组中的结果,而我自己无法做到。

【问题讨论】:

  • 是的。 json 的解析全部完成 - 这就是 json_decode 所做的。现在,你得到了一个普通的、无聊的、简单的数组。包含嵌套数组。直到名为$decoded['league'][0]['events'] 的数组,您必须对其进行迭代。然后,这些项目中的每一个都是一个数组本身,您可以像每个其他数组一样使用它。如:$line['home']

标签: php json foreach


【解决方案1】:

你可以试试这个:

$data=json_decode($data,true);//converts in array

    foreach($data['league'] as $key=>$val){// this can be ommited if only 0 index is there after 
//league and $data['league'][0]['events'] can be used in below foreach instead of $val['events'].
      foreach($val['events'] as $keys=>$value){
        echo $value['home'].' v '.$value['away'].'<br>;
    }  
    }

【讨论】:

  • 谢谢哥们。正是我想要的。
【解决方案2】:

像这样试试..

$data=json_decode($data,true);//convert your json into array
$events = $data['leage'][0]['events'];//events array

foreach($events as $key=>$value)//loop inside your events array
{
  echo $value['home'].' v '.$value['away'].'<br>;
}

【讨论】:

    猜你喜欢
    • 2013-04-15
    • 2018-05-14
    • 2012-06-01
    • 2020-07-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-06
    相关资源
    最近更新 更多