foreach ($likes as $like) {
// Extract the pieces of info we need from the requests above
$id = idx($like, 'id');
$item = idx($like, 'name');
fwrite($fileout,json_encode($like));
fwrite($fileout,PHP_EOL);
}
$json_string = file_get_contents('testson.json');
$get_json_values=json_decode($json_string,true);
foreach ($get_json_values as $getlikes) { ?>
<li>
<a href="https://www.facebook.com/<?php echo $getlikes['id']; ?>" target="_top">
</li>
<?php
}
打開瀏覽器時,有一個Warning: Invalid argument supplied for foreach()
。我不明白爲什麼我的論點是無效的。json_decode到數組?
如果我添加了if,沒有任何反應,它顯示了實際問題。但問題是什麼是正確的方法來做到這一點?我很確定這很簡單,但我一直在爲此掙扎超過一個小時。我的JSON文件有這樣的領域,所以我不認爲會有問題:
{"category":"Musician\/band","name":"Yann Tiersen (official)","id":"18359161762"}
請幫助我,我真的累了吧,我不知道該怎麼辦。所以... 我怎樣才能解碼文件到一個數組?
你試過了嗎,json_decode('data.json',true)? (真正的標誌是數組輸出,而不是對象) – jlasarte 2013-03-11 16:26:35
foreach()在對象上和數組一樣好 - 如果他得到一個'無效參數提供...'錯誤,那麼他會傳遞其他東西(可能boolean false)。 – 2013-03-11 16:31:26
是的,我已經試過真正的國旗編輯 – 2013-03-11 16:36:23