2017-01-31 20 views
-2

JSONフィードのデコードとエコーを管理しました。このコマンドを実行した後foreachを使用してPHPを使用してJSONを解析します

print_r(json_decode($data,true)); 

これは私が画面に表示されるものである:

私はこの連想配列内の各[イベント]を通過する foreachのを使用できるようにする必要があります
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 
          ) 
         ) 
       ) 
     ) 
) 

、およびこのような結果を得ることができるように:

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

私はすべてがすでに正しく解析されると思うし、今では正しい構文を使用しての問題です私が自分でできない連想配列からの結果をエコーし​​ます。

+0

はい。 jsonの解析がすべて完了しました。これが 'json_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>; 
} 
関連する問題