if和elseif语句同时工作。
while($answerResult = mysql_fetch_assoc($answers))
{
if($reportResult != 0 && $this->CheckAnswer($questionId,$answerResult['id'],$reportResult))
{
echo '<input type="radio" name="question['.$questionId.']" value="'.$answerResult['id'].'" checked/>'.$answerResult['name'].'aaa  ';
}
elseif($sampleResult != 0 && $this->CheckAnswer($questionId,$answerResult['id'],$sampleResult))
{
echo '<input type="radio" name="question['.$questionId.']" value="'.$answerResult['id'].'" checked/>'.$answerResult['name'].'hee  ';
}
else
{
echo '<input type="radio" name="question['.$questionId.']" value="'.$answerResult['id'].'" />'.$answerResult['name'].'  ';
}
}
如果我的第一个陈述是真的那么我试图这样做,那么不要看其他条件,但如果我的第一个条件是假的,那么检查elseif条件。
但是,即使条件为真,我的elseif条件仍然有效。
我把'hee'和'aaa'放在'echos'的末尾,看看哪一个正在打印。
结果:
首先,if语句正在工作并使用'aaa'打印,然后查看elseif语句并检查并打印'hee'。
所以,我不知道我错过了什么,找不到任何解决方案,有什么建议吗?
答案 0 :(得分:3)
一个声明中的if
,elseif
和else
是独占的,所以这不应该发生。
整个语句是在while循环中...你确定它不是在第一次迭代中执行if
而在第二次迭代中执行elseif
吗?