Foreach代码不起作用

时间:2012-04-16 15:53:34

标签: php foreach if-statement

我无法弄清楚这段代码有什么问题:

}else{
$error_message = '<span class="error">';
foreach($error as $key => $values){
    $error_message.= "$values<br />";
}
$error_message.="</span><br /><br />";
}

我收到错误:

  

警告:第45行的FILE DIRECTORY中为foreach()提供的参数无效

第45行是foreach($error...

解决了:我的问题是我弄乱了花括号的位置,这反过来搞乱了阵列

2 个答案:

答案 0 :(得分:5)

错误消息表明$error不是数组。您可以在循环之前通过var_dump($error);进行检查以检查它是什么。

答案 1 :(得分:0)

如果$error有时为null,则以下内容就足够了:

}else{
    if(!empty($error)){ // only attempt to build error messages if there are errors
        $error_message = '<span class="error">';
        foreach($error as $key => $values){
            $error_message.= "$values<br />";
        }
        $error_message.="</span><br /><br />";
    }
}