在PHP中,为什么它只回显最后一项我知道在数组中它不止一个

时间:2018-01-11 07:25:48

标签: php mysql web

我必须在将$_POST添加到数据库之前对其进行测试,因此如果任何输入为空它将打印它,但是当我提交所有项目为空时它只打印数组中的项目?我的代码是什么问题?

$formerror = array ();

if(empty($depdesc))
{
    $formerror [] = " وصف القسم لا يمكن ان يكون فارغ  ";
}
if(empty($depName))
{
    $formerror [] = " اسم القسم لا يمكن ان يكون فارغ  ";
}
#End of check if any empty item 
if(empty($formerror))
{
    echo " No error ";
}else
{
    foreach($formerror as $error);
    {

        echo $error;
    }
}   

2 个答案:

答案 0 :(得分:1)

这是因为;循环后的分号(foreach)。不能在那里。

替换

foreach($formerror as $error); {...}
                             ^

代表

foreach ($formerror as $error) {
    echo $error;
}

答案 1 :(得分:0)

你的foreach循环有分号(;),这会阻止它以正确的方式运行。您只需要在foreach()圆括号

后立即删除分号

foreach($formerror as $error);

应该是

foreach($formerror as $error)