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