[英]Some Confusion in IF Condition of PHP
這是代碼
$a = 'Rs 15.25';
if ( $a != '' && $a! = 0 ) {
echo "Inside If";
} else {
echo "Outside If";
}
實際上我想打印“ Inside If”,所以這就是為什么我將$ a ='Some String Value'放入。 但是它總是打印“ Outside If”。 然后我將代碼更改為
$a = 'Rs 15.25';
if ( $a != '' && $a != '0' ) {
echo "Inside If";
} else {
echo "Outside If";
}
我剛剛將單引號添加到0。然后我得到了想要的確切輸出。 但是我不明白為什么會這樣。 所以請幫我。
PHP會進行弱類型比較,也就是說,它會在進行實際比較之前將兩個操作數轉換為相同類型。
如果操作數之一是數字,則另一個也將轉換為數字。 如果第二個操作數是一個字符串且不包含數字,則將其靜默轉換為數字0
。
為避免整個問題,請與運算符!==
一起使用字符串類型檢查( ===
等於)。
if($a !== '' && $a !== 0) {
echo "Inside If";
} else {
echo "Outside If";
}
首先,如果在if語句上有多個條件,則應始終將每個條件括在方括號中
因此,您應該做的第一件事就是將代碼更改為
$a='Rs 15.25';
if(($a!='') && ($a!='0'))
{
echo "Inside If";
}else
{
echo "Outside If";
}
在PHP中,0 = FALSE,1 = TRUE。
if($ a!= 0)-> if($ a!= FALSE)
如果$ a ='Rs 15.25',$ a!= false並且$ a不為空,那么您將回顯“ If If Out”;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.