为什么下面的代码总是返回 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"
因为您在 if 语句中设置$v
为。"david"
改用==
:
<?php
$v = "dav6d";
if($v == "david") {
echo "smith";
}
?>
为避免此类类型错误,请使用第二个位置的变量(比较运算符的右侧(此处为 ' ==
')),如下所示
if("david"==$v) {
echo "smith";
}
当您错误地放置 ' =
' 而不是 ' ==
'时,它会通过生成语法错误消息来提供帮助