elseif块中的代码部分运行时,它不应该
问题描述:
好吧,我有一个我的网站的注册表。elseif块中的代码部分运行时,它不应该
当出现错误时弹出一个包含错误的框。该框由一个html div,一个h2头文件和php回应我的错误组成。
如果我点击提交,它显示错误应该是这样,但不管怎样,标题和div都会显示出来。
我不明白为什么。
这里是回声错误的代码块。
} else if (!empty($errors)){
echo '<div class="msg_module">';
echo '<h2>Registration Errors:</h2>';
echo $General->outputErrors($errors);
echo '</div>';
}
谢谢大家!
编辑:我应该提及$ errors是一个数组。
编辑:我的网络回来,这里是outputErrors功能:
public function outputErrors($errors = ''){
if(is_array($errors)){
// handle for passed array
foreach ($errors as $error){
if(is_array($error)){
general::outputErrors($error);
} else{
general::$errStr.= ($error != '')?'<li>'.$error.'</li>':'';
}
}
} else if($errors != ''){
// handle for passed string
general::$errStr = $errors;
}
return '<ul id="error_list">'.general::$errStr.'</ul>';
}//outputErrors
答
使用var_dump($errors);
,你可能会看到该变量不为空。
从你的评论,我假设变量是型阵列的
阅读PHP Manual for the empty function,你会看到它的空数组返回true(数组不包含任何元素)
现在请记住,如果变量为,则键入字符串,则大多数字符串都被视为非空。
'$ errors'显然不是空的。 - 只是回声$错误,看看有什么。 – John3136 2013-02-25 01:09:47
它所说的是'数组'。 – Nifty62 2013-02-25 01:12:34
所以你可能需要使用“数组长度”而不是“空”的PHP版本(目前不做PHP,所以我没有与细节脱节) – John3136 2013-02-25 01:15:29