为什么下面的代码总是返回true?
<?php
$v = "dav6d";
if($v = "david") {
echo "smith";
}
?>
这一行:
if($v = "david") {
使用赋值(即单个=
符号),它将返回$v的结果,"david"
,这是一个真值。如果要进行比较,请使用==
或===
if($v = "david")
正在分配,而不是比较
$v="david"; // This code assign "david" to $v
$v=="david"; // This code compares $v vs "david"
因为您将$v
设置为在 if 语句中"david"
。请改用==
:
<?php
$v = "dav6d";
if($v == "david") {
echo "smith";
}
?>
为了避免此类类型错误,请在第二个位置(比较运算符的右侧(此处 ' ==
'))使用变量,如下所示
if("david"==$v) {
echo "smith";
}
它有助于生成语法错误消息,以防万一,当您错误地输入" =
"而不是" ==
"