为foreach()提供的参数无效 - Laravel 4.2

时间:2015-03-31 11:24:59

标签: php laravel-4 foreach

Hello Guys这是我在控制器中的代码。而这个foreach循环用于添加新行。因此,当我不添加新行时,我收到的错误称为为foreach()提供的无效参数我知道错误正在发生,因为行正在发送空值,但我不知道解决方案。这个你能帮我吗。非常感谢。每个帮助和评论都表示赞赏。 :)

 $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;
            }

        }

2 个答案:

答案 0 :(得分:1)

始终$add_more_line应该是一个执行foreach的数组。执行以下操作之一以防止此错误。

  1. 使用is_array检查变量,如果是,则可以执行foreach
  2. 正如Ryan所说,将其投放在froeach
  3. 在分配值之前在Controller中初始化数组。
  4. 代码:

    if(is_array($add_more_line)){
        // Do the job
    }
    

    foreach((array)$add_more_line as $each_key => $each_val){
       // Code 
    }
    

     $add_more_line = array();
    

答案 1 :(得分:0)

你能不能在做foreach之前检查$add_more_line变量吗?

if ($add_more_line)
{
    // your code
}