2017-01-31 4 views
-2

Мне удалось декодировать и эхо-сигнал канала JSON. После выполнения этой командыParse JSON с PHP с использованием foreach

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 
          ) 
         ) 
       ) 
     ) 
) 

Мне нужно, чтобы иметь возможность использовать Еогеасп пройти через каждый [событий] в этом ассоциативном массиве, и чтобы иметь возможность получить результат, как этот:

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

Я думаю, что все уже разобраны правильно, и теперь это только вопрос с помощью правильного синтаксиса для эхо-результата из ассоциативного массива, который я не могу сделать сам.

+0

да. синтаксический анализ json выполняется - вот что делает 'json_decode' ** **. теперь вы просто получили простой старый, скучный, простой массив. содержащих вложенные массивы. до массива под названием '$ decoded ['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>; 
} 

 Смежные вопросы

  • Нет связанных вопросов^_^