我一直运行到错误Warning: Invalid argument supplied for foreach()
和我的生活我不明白为什么。这里是我的相关代码:循环json_decode与foreach循环错误
$Ids = $_POST["param-0"];
$toReturn = array();
$decodedJson = json_decode($Ids,TRUE);
stripslashes($decodedJson);
foreach($decodedJson as $id)
{
... do stuff with $toReturn...
}
$Ids
是从进行编码json_encode以前的文件中的字符串。我添加了stripslashes
,因为它在Stack Overflow的另一个问题中被推荐,但它没有帮助。如果我将foreach循环的开始更改为foreach($toReturn as $id)
,则错误消失。谢谢!
编辑:在前一个文件中,$ _POST [“param-0”]是一个整数数组,我用json_encode返回。随着我现在正在使用的测试数据,["15","18"]
正在通过。
你可以发布你的价值的一个例子'$ _ POST [ “param-0”]' – koosa
这是另一个使用'stripslashes()'来破坏数据的例子。 –
我的想法已经用完了,所以我尝试了它,希望它可以工作,但我真的没想到它会。 – joebro