上一篇文章中我們了解了拼接兩個字串的方法,有需要的請看《教你使用PHP運算子將兩個字串拼接在一起》。今天我們來了解下比較兩個字串的方法,一起來學習吧!
字串比較是字串處理中常見的一種操作,PHP中比較兩個字串有很多方法,這篇文章透過程式碼實例來給大家介紹三種常見的比較方法:
使用比較運算子:==/
#===
、>
、等
內建函數strcmp()
內建函數strcasecmp()
1、使用比較運算子
我們可以用==
(雙等號)或===
#(三等號)來比較字串是否相等。
"; }else{ echo "两个字符串不相等
"; } if($str1===$str2){ echo "两个字符串相等
"; }else{ echo "两个字符串不相等
"; } ?>
輸出結果:
两个字符串相等 两个字符串相等
#==
和===
的差異: ==不比較類型,三等號===,它不轉換類型;使用等式(==)運算子進行比較時,如果兩個值相同(它只比較變數的值,而不是資料類型),則傳回true值;如果兩個值不相同,則傳回false值。
使用恆等式(===)運算子進行比較時,會查看兩個變數(表達式或常數)是否值相等且具有相同的資料類型,即兩者都是字串或兩者都是整數等等。如果兩個變數包含相同的值和相同的資料類型,則此運算子傳回true,否則傳回false。
我們可以用<
(小於)或 >
(大於)來比較字串的大小。
$str2){ echo "'$str1' 比 '$str2' 大
"; }else{ echo "'$str1' 比 '$str2' 小
"; } $str1="15"; $str2="13"; if($str1<$str2){ echo "'$str1' 比 '$str2' 小
"; }else{ echo "'$str1' 比 '$str2' 大
"; } ?>
輸出結果:
'12' 比 '13' 小 '15' 比 '13' 大
PHP比較運算子清單:
比較運算子 | 名稱 | 描述 |
---|---|---|
$a == $b | 等於 | 如果型別轉換後$a 和$b 的值相等,則傳回TRUE,否則傳回FALSE |
$a === $b | 全等 | 如果$a 和$b 不只值相等,而且它們值的型別也相等,則回傳TRUE,否則回傳FALSE |
$a != $b | 不等於 | 如果型別轉換後$a 的值不等於$b 的值,則返回TRUE,否則返回FALSE |
$a <> $b | 不等於 | 與! = 相同,如果型別轉換後$a 的值不等於$b 的值,則傳回TRUE,否則傳回FALSE |
$a !== $b | ##不全等如果$a 的值不等於$b的值,或它們值的型別不同,則傳回TRUE,否則傳回FALSE | |
小與 | 如果$a 的值小於$b 的值,則傳回TRUE,否則傳回FALSE | |
大於 | 如果$a 的值大於$b 的值,則傳回TRUE,否則傳回FALSE | |
小於等於 | 如果$a 的值小於或等於$b 的值,則傳回TRUE,否則傳回FALSE | |
大於等於 | 如果$a 的值大於或等於$b 的值,則傳回TRUE,否則傳回FALSE | ##$a < => $b |
當$a小於、等於、大於$b時分別傳回一個小於、等於、大於0的整數值。 PHP7開始提供. | $a ?? $b ?? $c | |
從左到右第一個存在且不為NULL 的操作數。如果都沒有定義且不為 NULL,則傳回 NULL。 PHP7開始提供。 |