2017-01-31 90 views
-2

我设法解码并回显JSON提要。运行这个命令之后使用foreach解析JSON并使用PHP

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要经过这个关联数组每个[事件],和能够得到如下结果:

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

我认为所有东西都已经正确解析,现在只是使用正确的语法来回显联想数组的结果,这是我自己做不到的。

+0

肯定。 json解析全部完成 - 这就是'json_decode'**做的**。现在,你只是有一个简单的旧,无聊,简单的阵列。包含嵌套数组。直到名为'$ decode ['league'] [0] ['events']'的数组,你必须迭代。然后,这些项目中的每一个都是一个*数组本身*,您可以使用*每隔一个数组*。如:'$ line ['home']' –

回答

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>; 
    } 
    } 
+0

感谢哥们。正是我想要的。 –

0

尝试这样的..

$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>; 
}