为什么下面的代码总是返回 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";
}
当您错误地放置 ' =' 而不是 ' =='时,它会通过生成语法错误消息来提供帮助