为什么以下代码总是返回true?
<?php
$v = "dav6d";
if($v = "david") {
echo "smith";
}
?>
答案 0 :(得分:11)
这一行:
if($v = "david") {
正在使用一个赋值(即一个=
符号),它将返回$ v "david"
的结果,这是一个真值。如果您想进行比较,请使用==
或===
答案 1 :(得分:5)
if($v = "david")
正在分配,而不是比较
$v="david"; // This code assign "david" to $v
$v=="david"; // This code compares $v vs "david"
答案 2 :(得分:3)
因为您在if语句中将$v
设置为"david"
。请改用==
:
<?php
$v = "dav6d";
if($v == "david") {
echo "smith";
}
?>
答案 3 :(得分:2)
为避免此类错误,请使用第二个位置的变量(比较运算符的右侧(此处为“==
”)),如下所示
if("david"==$v) {
echo "smith";
}
如果您错误地将“=
”改为“==
”