我正在尝试使用 if 语句测试验证。
if (($red == "1") && ($blue = "1") ) { $green = "hello"; }
在此语句运行之前$blue = 0
。
在我运行这个之后......$blue
更改为1
.
任何想法为什么?
您正在使用=
代替==
:
if (($red == "1") && ($blue = "1") ) { $green = "hello"; }
^^^
结果(假设左侧&&
返回 true)$blue
被赋值 "1"
。
这是最常见的编程错误之一!!为了防止这种情况发生,程序员将常量放在 as 的左侧==
:
1 == $blue
=
因此,如果您错误地最终写成==
:
1 = $blue
您会收到语法错误,因为您无法分配给常量。
试试这个 if (($red == "1") && ($blue == "1") ) { $green = "hello"; }
//您的代码是 ($blue ="1") '=' 是 php 中的赋值运算符比较是 '=='
你分配$blue = 1
而不是比较这就是为什么 $blue 是 1
使用==或===而不是=。
'=' 是赋值运算符,条件运算符是==或===
if (($red == "1") && ($blue == "1") )
{
$green = "hello";
}
这是因为您使用=
. 使用$blue == "1"
.
如果 (($red == "1") && ($blue == "1") ) { $green = "hello"; }
是的,使用==
而不是=
我会进一步说,也许你应该在比较时将文字放在左手以避免这种情况。
喜欢if(1 == $blue)
而不是if($blue == 1)