php if和语句导致问题

时间:2012-04-27 06:48:25

标签: php variables

我试图使用if语句测试验证。

if (($red == "1") && ($blue = "1") ) { $green = "hello"; }

在此语句运行$blue = 0之前。

运行此... $blue后更改为1

任何想法为什么?

7 个答案:

答案 0 :(得分:6)

您使用=代替==

if (($red == "1") && ($blue = "1") ) { $green = "hello"; }
                           ^^^

结果(假设&&的左侧返回true)$blue 被分配 "1"

这是最常见的编程错误之一!作为防止程序员发生的一种方法,将常量放在==的左侧:

1 == $blue

因此,如果您错误地以=代替==而写作:

1 = $blue

由于无法分配常量,因此会出现语法错误。

答案 1 :(得分:2)

如果(($ red ==“1”)&&($ blue ==“1”)){$ green =“hello”; }

//你的代码是($ blue =“1”)'='是php比较中的赋值运算符'=='

答案 2 :(得分:1)

您正在分配$blue = 1而非比较这就是为什么$ blue为1

答案 3 :(得分:0)

这是因为您使用=。使用$blue == "1"

答案 4 :(得分:0)

在下一个结论中,你的等于唱歌是不正确的     if(($ red ==“1”)&&($ blue ==“1”)){$ green =“hello”; }

答案 5 :(得分:0)

是的,请使用==代替=

我会更进一步说,也许你应该在比较时把文字放在左边,以避免这种情况。

if(1 == $blue)而不是if($blue == 1)

答案 6 :(得分:0)

使用 == === 代替 =

'='是赋值运算符,条件运算符 == === < / p>

if (($red == "1") && ($blue == "1") ) 
 { 
     $green = "hello"; 
 }