为foreach提供了无效的参数() - Laravel 4.2
Hello你好,这是我在控制器中的代码。而这个foreach循环用于添加新行。所以当我不添加新行时,我得到的错误称为foreach提供的无效参数()我知道发生错误,因为该行正在发送空值,但我不知道这个解决方案。这个你能帮我吗。非常感谢。每一个帮助和评论表示赞赏。 :)为foreach提供了无效的参数() - Laravel 4.2
$total_add_more = 0;
foreach($add_more_line as $each_key => $each_val) {
if($add_more_year_button[$each_key] == 'month'){
$total_add_more += $each_val;
}else {
$total_add_more += $each_val * 12;
}
}
难道你不只是检查$add_more_line
变量之前做foreach?
if ($add_more_line)
{
// your code
}
始终$add_more_line
应该执行foreach
阵列。请执行以下其中一项操作来防止此错误。
代码:
if(is_array($add_more_line)){
// Do the job
}
或
foreach((array)$add_more_line as $each_key => $each_val){
// Code
}
或
$add_more_line = array();
Hello @Eranda :)这工作得很好,是最好的方法。非常感谢 – Siddharth 2015-03-31 13:52:47
使用'is_array'检查有时可以,但并非总是如此。您可以将实现[Traversable Interface](http://php.net/manual/en/class.traversable.php)的对象传递给foreach,而不仅仅是数组... – lukasgeiter 2015-03-31 13:58:37
谢谢@lukasgeiter :)。我不知道可穿越接口。 – Eranda 2015-03-31 14:01:36
我认为它是 '空' 现象?你可以将它'作为一个数组转换'即:_'foreach((array)$ add_more_line as ...'_这将保持'foreach循环''开心' – 2015-03-31 11:53:19