簡體   English   中英

一個簡單的IF總是返回真實的是什么?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM