foreach参数无效
Invalid foreach argument
我有两个名为sample.json和sample2.json的json文件。它们提取的数据略有不同,但格式应该相似。当我在sample1.json上运行脚本时,它就起作用了。当我在sample.json上运行脚本时,它在第141行和第169行中的foreach参数无效。
141行的代码在这里:
foreach($posts as &$entry){
$mod = new modifier($entry); //create modifier object
$result = $mod->getResult(); //gives parsed text back
$entry['mod-post'] = $result;
$usr = $entry['user']['screen_name']; //mod the usr as well while we are at it to give a new usr
$usr = '@' . $usr;
$entry['mod-usr'] = $usr;
}
当我读取其中的数据时,它会以的形式出现
$datafile = 'data/sample.json';
//open up datafile created through search
$myfile = fopen($datafile, 'r') or die('Unable to open file!!!');
$d = fread($myfile, filesize($datafile));
//file already formatted as json
$data = array();
$data = json_decode($d, true);
$posts = $data["statuses"]; //make easier to access later
fclose($myfile);//close file
根据我所看到的,我认为问题是第二个json文件没有被正确读取。也就是说,当我将我的文件上传到jsonint或任何json检查器时,它会为我的两个文件提供一个无效的json(或者我不知道为什么。我正在从twitter中提取数据,所以应该没问题)。
如果您有时间快速查看,我已经链接了json文件。
https://www.dropbox.com/s/3zqwqtbav7ii9if/sample1.json?dl=0
和
https://www.dropbox.com/s/7xh94csike6ucqc/sample.json?dl=0
即使你能给我一个提示,告诉我可能是什么问题,以及为什么我的程序可以在sample1.json上运行,而不能在sample.json上运行,这也会很有帮助。
所以我发现问题是sample1.json实际上是有效的,sample.json实际上是无效的。问题是json.parser.online.fr/返回了不正确的响应,将它们标记为"无效"不确定为什么那个特定的检查器不起作用(我使用它是因为你可以直接将文件上传到他们的网站)。
相关文章:
- 在 IE8 中接收无效参数
- 在JavaScript中测试一个无效参数w/Chai
- IE10+上的AngularJS,带有占位符原因的文本区域“;无效参数&”;
- 是“;论点”;JavaScript中的无效参数名称
- window.open 在 IE 中抛出无效参数错误
- D3:在 IE9 中使用 d3.js 出现“无效参数”错误
- 谷歌地图api v3-IE7-main.js错误-无效参数(javascript)
- Javascript:Uint16Array(length)返回无效参数
- 在IE8中调整窗口大小时JQuery/Javascript无效参数脚本错误
- 无效参数.即7-8
- IE8'无效参数'在小jQuery动画片段中
- IE8出现JavaScript无效参数错误
- 窗口.在Javascript中打开无效参数
- InvokeScript工作,但网页回复“无效参数”
- 为什么自定义函数在IE8中说无效参数
- IE8中变量对象属性的无效参数问题
- JavaScript +无效参数错误与fireEvent('onchange')
- IE eventDispatch() SCRIPT87:无效参数.错误
- XMLHttpRequest无效参数
- Js-ctypes无效参数