2017-01-23 1 views
1

Я пытаюсь загрузить данные из URL-адреса.Итерация через объект JSON, не работающий в PHP

Данные приведены ниже

{ 
    "UFs": 
    [ 
     { 
      "Valor" : "26.348,83", 
      "Fecha" : "2017-01-01" 
     }, 
     { 
      "Valor" : "26.349,68", 
      "fecha" : "2017-01-02" 
     } 
    ] 
} 

Мой PHP код до сих пор выглядит следующим образом:

ini_set("allow_url_fopen", 1); 

$url = 'http://api.sbif.cl/api-sbifv3/recursos_api/uf/2017?apikey=472d79589e5bda11f1f032e62047911541c8a937&formato=json'; 
$obj = json_decode(file_get_contents($url), true); 

foreach($obj as $item) { 
    echo $item['Valor'] . "<br/>"; 
} 

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

$ch = curl_init(); 
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
curl_setopt($ch, CURLOPT_URL, 'http://api.sbif.cl/api-sbifv3/recursos_api/uf/2017?apikey=472d79589e5bda11f1f032e62047911541c8a937&formato=json'); 
$result = curl_exec($ch); 
curl_close($ch); 

$obj = json_decode($result); 

foreach($obj as $item) { 
    echo $item['Valor']."<br/>"; 
} 

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

+1

Вы можете сделать var_dump ($ OBJ) перед вашими результатами цикла и поста? – Kaylined

+1

Также добавьте эти 2 строки в начало вашего скрипта; error_reporting (E_ALL); ini_set ('display_errors', 1); – Kaylined

ответ

1

Значения находятся внутри объекта UFs. Использование командной foreach петли таким образом:

foreach($obj['UFs'] as $item) { 
    echo $item['Valor'] . "<br/>"; 
} 
+1

Это сработало! Благодарю. –

+0

@BryanGabrielMacuer Пожалуйста, просмотрите свои настройки отчетов об ошибках, поэтому вам не нужно спрашивать на форуме, что PHP уже может вам рассказать ;-) –

+0

@ Сообщение об ошибке при ошибке ÁlvaroGonzález включено, код не содержит ошибок. Я неправильно использовал переменную. –

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