Elseif没有在PHP上返回正确的值

时间:2016-02-20 05:57:46

标签: php if-statement

当用户介绍一封信并点击提交时,脚本将返回一个以该字母开头的名称,我使用Switch / Case结构编写它,现在我需要使用if / elseif / else编写它。

问题在于,无论我在文本框中引入什么字母,我都会得到A(Aberdefia - Anacleto)的回报

$nombrador=$_POST['nombrador'];
$nombrador=strtoupper($nombrador);

if ($nombradorIf = 'A') {
 echo "Aberdefia - Anacleto";
} elseif ($nombradorIf = 'B') {
 echo "Brígida - Brígido";
} else {
echo "Is that even a letter?";
}

字母C到Z的代码就像A和B的代码一样。

4 个答案:

答案 0 :(得分:0)

==条件运算符 = 分配运算符

 if ($nombrador == 'A') {
     echo "Aberdefia - Anacleto";
    } elseif ($nombrador == 'B') {
     echo "Brígida - Brígido";
    } else {
    echo "Is that even a letter?";
    }

答案 1 :(得分:0)

比较需要==,{strong>分配需要=相同相同类型

此外,您在分配时使用了===,在比较时使用了$nombrador,从而产生了未定义的变量。

$nombradorIf

因此,if ($nombrador == 'A') { echo "Aberdefia - Anacleto"; } elseif ($nombrador == 'B') { echo "Brígida - Brígido"; } else { echo "Is that even a letter?"; } 表示$nombrador == 'A'等于$nombrador

而且,A表示将$nombrador = 'A'分配给A

http://php.net/manual/en/language.operators.comparison.php的更多信息。

希望这有帮助,谢谢!

答案 2 :(得分:0)

要检查条件语句,您必须使用==(双等号),如下所示:

$nombrador=$_POST['nombrador'];
$nombrador=strtoupper($nombrador);

if ($nombrador == 'A') {
 //              ^^ Use like this
 echo "Aberdefia - Anacleto";
} elseif ($nombrador == 'B') {
 //                    ^^ Use like this
 echo "Brígida - Brígido";
} else {
 echo "Is that even a letter?";
}

答案 3 :(得分:0)

试试此代码

$nombrador=$_POST['nombrador'];
$nombrador=strtoupper($nombrador);

if ($nombrador == 'A') {
echo "Aberdefia - Anacleto";
} else if($nombrador == 'B') {
echo "Brígida - Brígido";
} else {
echo "Is that even a letter?";
}

您附近的代码错误。条件检查变量名称是 $ nombradorIf ,也没有声明变量,但您指定的值变量名称是$nombrador,并且您不使用条件运算符==。结果不合适。您可以在代码上方使用正常工作