2015-05-18 2 views
0

Дать свой собственный канал bandsintown, как я не люблю виджетов по умолчанию и т.д., они поставляют - RSVP всплывающее окно некрасивоPHP цикл по каждому элементу на JSON данных из Bandsintown

успешно выводится в заголовок массива для первого события, что я» м не хватает, как запустить Еогеасп через результаты, поскольку они не имеют, содержащий массив предназначаться

<?php 
    //Get the list of events from the function 
    $json = file_get_contents("http://api.bandsintown.com/artists/kiss/events.json?api_version=2.0&app_id=kiss"); 

    $data = json_decode($json, true); 

    //var_dump($data); 

    echo $data->title; 

?> 

Выведенный JSON не имеет имя массива, чтобы предназначаться, так что я не могу сказать, Еогеасп ($ data as $ arrayname)

array (size=22) 
    0 => 
     array (size=13) 
     'id' => int 9722885 
     'title' => string 'Kiss @ Rock im Revier 2015 in Gelsenkirchen, Germany' (length=52) 
     'datetime' => string '2015-05-29T00:00:00' (length=19) 
     'formatted_datetime' => string 'Friday, May 29, 2015 at 12:00AM' (length=31) 
     'formatted_location' => string 'Gelsenkirchen, Germany' (length=22) 
     'ticket_url' => string 'http://www.bandsintown.com/event/9722885/buy_tickets?app_id=kiss&artist=Kiss' (length=76) 
     'ticket_type' => string 'Tickets' (length=7) 
     'ticket_status' => string 'available' (length=9) 
     'on_sale_datetime' => null 
     'facebook_rsvp_url' => string 'http://www.bandsintown.com/event/9722885?app_id=kiss&artist=Kiss&came_from=67' (length=77) 
     'description' => string 'Der Ring 2015' (length=13) 
     'artists' => 
      array (size=1) 
      0 => 
       array (size=8) 
       ... 
     'venue' => 
      array (size=6) 
      'name' => string 'Rock im Revier 2015' (length=19) 
      'city' => string 'Gelsenkirchen' (length=13) 
      'region' => string '07' (length=2) 
      'country' => string 'Germany' (length=7) 
      'latitude' => float 51.5166667 
      'longitude' => float 7.05 
    1 => 
     array (size=13) 
     'id' => int 8995518 
     'title' => string 'Kiss @ O2 World Hamburg in Hamburg, Germany' (length=43) 
+2

Что вы подразумеваете под «не имеет имени массива для цели»? Имя массива - '$ data'. – Barmar

ответ

2

Задание true на json_decode заставляет его возвращать ассоциативные массивы, а не объекты, поэтому вы должны использовать ['title'], а не ->title.

$data = json_decode($json, true); 
foreach ($data as $song) { 
    echo $song['title'] . "<br>"; 
} 
+0

'foreach' создает его. Разве вы не знаете, как работает «foreach»? – Barmar

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