php if和语句导致问题

bri*_*son 0 php variables

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

if (($red == "1") && ($blue = "1") ) { $green = "hello"; }
Run Code Online (Sandbox Code Playgroud)

在此声明运行之前$blue = 0.

在我运行之后...... $blue改变了1.

有什么想法吗?

cod*_*ict 6

您正在使用以下=代替==:

if (($red == "1") && ($blue = "1") ) { $green = "hello"; }
                           ^^^
Run Code Online (Sandbox Code Playgroud)

结果(假设&&返回的左侧为true)$blue 被赋值 "1".

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

1 == $blue
Run Code Online (Sandbox Code Playgroud)

所以,如果你错误地写=了最后写代替==:

1 = $blue
Run Code Online (Sandbox Code Playgroud)

您会收到语法错误,因为您无法分配常量.