在php中,比較運(yùn)算符是允許對(duì)兩個(gè)值進(jìn)行比較的一種符號(hào);當(dāng)用運(yùn)算符比較兩個(gè)值時(shí),結(jié)果是一個(gè)邏輯值:TRUE(成立)或FALSE(不成立)。php比較運(yùn)算符中,“==”和“===”可進(jìn)行相等比較,“!=”、“<>”和“!==”可進(jìn)行不相等比較,“<”、“>”、“<=”和“>=”可進(jìn)行大小比較。
本教程操作環(huán)境:windows7系統(tǒng)、PHP8.1版、DELL G3電腦
php中的比較運(yùn)算符
比較運(yùn)算符,如同它們名稱所暗示的,允許對(duì)兩個(gè)值進(jìn)行比較。
當(dāng)用運(yùn)算符比較兩個(gè)值時(shí),結(jié)果是一個(gè)邏輯值,不是 TRUE(成立) 就是 FALSE(不成立)的運(yùn)算符號(hào)。
PHP中的比較運(yùn)算符如下表所示:
例子 | 名稱 | 結(jié)果 |
---|---|---|
$a == $b | 等于 | true ,如果類型轉(zhuǎn)換后$a等于$b。 |
$a === $b | 全等 | true ,如果$a等于$b,并且它們的類型也相同。 |
$a != $b | 不等 | true ,如果類型轉(zhuǎn)換后$a不等于$b。 |
$a <> $b | 不等 | true ,如果類型轉(zhuǎn)換后$a不等于$b。 |
$a !== $b | 不全等 | true ,如果$a不等于$b,或者它們的類型不同。 |
$a < $b | 小于 | true ,如果$a嚴(yán)格小于$b。 |
$a > $b | 大于 | true ,如果$a嚴(yán)格大于$b。 |
$a <= $b | 小于等于 | true ,如果$a小于或者等于$b。 |
$a >= $b | 大于等于 | true ,如果$a大于或者等于$b。 |
$a <=> $b | 太空船運(yùn)算符(組合比較符) | 當(dāng)$a小于、等于、大于$b時(shí) 分別返回一個(gè)小于、等于、大于0的 int 值。 |
$a ?? $b ?? $c | NULL合并操作符 | 從左往右第一個(gè)存在且不為 NULL 的操作數(shù)。如果都沒(méi)有定義且不為 NULL,則返回 NULL。PHP7開(kāi)始提供。 |
數(shù)字與字符串比較
如果比較一個(gè)數(shù)字和字符串或者比較涉及到數(shù)字內(nèi)容的字符串,則字符串會(huì)被轉(zhuǎn)換為數(shù)值并且比較按照數(shù)值來(lái)進(jìn)行。但當(dāng)用 === 或 !== 進(jìn)行比較時(shí)則不進(jìn)行類型轉(zhuǎn)換,因?yàn)榇藭r(shí)類型和數(shù)值都要比對(duì)。
例如:
<?php var_dump(0 == "a"); // 0 == 0 -> true var_dump("1" == "01"); // 1 == 1 -> true var_dump("10" == "1e1"); // 10 == 10 -> true var_dump(100 == "1e2"); // 100 == 100 -> true ?>
類型轉(zhuǎn)換
關(guān)于不同類型比較之中的類型轉(zhuǎn)換
比較運(yùn)算符的使用
比較運(yùn)算符常用在 if 條件語(yǔ)句中,用來(lái)判斷程序該跳轉(zhuǎn)到哪個(gè)分支;
if 語(yǔ)句相當(dāng)于生活中從一個(gè)起點(diǎn)到達(dá)多個(gè)終點(diǎn),有很多條岔路,該走哪一條需要我們選擇、判斷;
比較運(yùn)算常用在條件判斷語(yǔ)句中,對(duì)于 “==”,當(dāng)左右兩端相等時(shí),返回TRUE,否則返回FALSE;
對(duì)于 “==” ,兩端的操作數(shù)相等,數(shù)值要相等,操作數(shù)的類型也要一樣,才會(huì)返回TRUE,否則返回FALSE;
比較運(yùn)算符的運(yùn)算過(guò)程,例子:
<?php $a=36; $b=30; echo "判斷a是否等于b:"; echo $a == $b; echo "rn"; echo "判斷a是否大于b:"; echo $a>$b; echo "rn"; echo "判斷a是否小于b:"; echo $a<$b; echo "rn"; ?>
執(zhí)行結(jié)果如下所示:
if判斷語(yǔ)句
a.單分支 語(yǔ)法:
if(條件){ //代碼 }
如果if塊中就一句代碼,則大括號(hào)是可以省略的。
if(20>10)echo 'true';
替代語(yǔ)法 { = : } = endif
if(20>10): echo 'true'; endif; for(): endfor;
b.雙分支 語(yǔ)法:
if(條件){ //代碼 }else{ //代碼 }
c.多分支 語(yǔ)法:
if(條件){ //代碼 }elseif(條件){ //代碼 }else{ //代碼 }
補(bǔ):多路選擇 語(yǔ)法:
switch(表達(dá)式){ case 常量: 代碼; break; case 常量: 代碼; break; default: 匹配失敗 }
推薦學(xué)習(xí):《PHP視頻教程》
前端(VUE)入門到精通:立即學(xué)習(xí)