PHP中的if elseif语句

时间:2012-12-07 10:12:33

标签: php if-statement

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&nbsp;&nbsp';
    }
    elseif($sampleResult != 0 && $this->CheckAnswer($questionId,$answerResult['id'],$sampleResult))
    {
       echo '<input type="radio" name="question['.$questionId.']" value="'.$answerResult['id'].'" checked/>'.$answerResult['name'].'hee&nbsp;&nbsp';
    }
    else
    {
       echo '<input type="radio" name="question['.$questionId.']" value="'.$answerResult['id'].'" />'.$answerResult['name'].'&nbsp;&nbsp';
    }
  }

如果我的第一个陈述是真的那么我试图这样做,那么不要看其他条件,但如果我的第一个条件是假的,那么检查elseif条件。

但是,即使条件为真,我的elseif条件仍然有效。

我把'hee'和'aaa'放在'echos'的末尾,看看哪一个正在打印。

结果:

首先,if语句正在工作并使用'aaa'打印,然后查看elseif语句并检查并打印'hee'。

所以,我不知道我错过了什么,找不到任何解决方案,有什么建议吗?

1 个答案:

答案 0 :(得分:3)

一个声明中的ifelseifelse是独占的,所以这不应该发生。

整个语句是在while循环中...你确定它不是在第一次迭代中执行if而在第二次迭代中执行elseif吗?