[英]What does a simple IF always return true?
為什么以下代碼總是返回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
設置$v
"david"
。 使用==
代替:
<?php
$v = "dav6d";
if($v == "david") {
echo "smith";
}
?>
為了避免這種類型的錯誤,使用第二個位置的變量(比較運算符的右側(這里是' ==
')),如下所示
if("david"==$v) {
echo "smith";
}
當你錯誤地把' =
'代替' ==
'時,它會產生語法錯誤信息。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.