2013-12-22 151 views
0

在PHP中使用JSON工作和錯誤不斷出現理想管材PHP代碼,我使用的是未定義偏移:0

echo $JSON["response"]["players"][0]["steamid"]; 

實際JSON是正確here.的VAR轉儲

array(1) { ["response"]=> array(1) { ["players"]=> array(0) { } } }

I used an online JSON viewer and it looks just fine to me.

有人有什麼想法嗎?

+3

玩家沒有索引,爲空 – Misters

+0

$ JSON [「response」] [「players」] [0] [「steamid」];不存在。 –

+0

玩家是空的。所以沒有索引0。0將是第一個元素。 – loushou

回答

1

默認情況下,json_decode會將對象解碼爲stdClass實例,該實例不會實現ArrayAccess。你的代碼應該可能會發出錯誤。你實際上應該使用:

$JSON->response->players[0]->steamid; 

您也可以使用truejson_decode第二個參數。

這適用於鏈接中提供的JSON,但var_dump似乎表明鏈接中的JSON與PHP腳本獲取的JSON不同。確保您使用正確的參數來遠程獲取此JSON。