2017-01-23 46 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/>"; 
} 

的問題是我收到黑屏每次我試過了。我也嘗試使用捲曲來閱讀網址如下:

$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錯誤報告是在,代碼沒有任何錯誤。我以錯誤的方式訪問變量。 –