重慶分公司,新征程啟航
為企業提供網站建設、域名注冊、服務器等服務
為企業提供網站建設、域名注冊、服務器等服務
這篇文章主要講解了“PHP比較兩個字符串的方法”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“PHP比較兩個字符串的方法”吧!
創新互聯建站是一家專業提供南潯企業網站建設,專注與網站設計、網站建設、成都h5網站建設、小程序制作等業務。10年已為南潯眾多企業、政府機構等服務。創新互聯專業網絡公司優惠進行中。
字符串比較是字符串處理中常見的一種操作,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 | 小與 | 如果 $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時 分別返回一個小于、等于、大于0的整型值。 PHP7開始提供. |
$a ?? $b ?? $c | NULL合并操作符 | 從左往右第一個存在且不為 NULL 的操作數。如果都沒有定義且不為 NULL,則返回 NULL。PHP7開始提供。 |
除了可以使用比較運算符來比較字符串外,還可以使用函數來比較字符串。PHP 中提供了兩個函數來實現字符串比較功能,分別是 strcmp() 和 strcasecmp() 函數,我們來看看。
2、使用內置函數strcmp()--以區分大小寫的方式比較兩個字符串
strcmp(string1,string2)
比較兩個字符串時,如果:
如果兩個字符串相等,則會返回0
;
如果string1 小于 string2,則會返回< 0
的值;
如果string1 大于 string2,則會返回> 0
的值;
我們先來看下面一個例子:
"; $str1="12"; $str2="13"; echo strcmp($str1,$str2)."
"; $str1="15"; $str2="13"; echo strcmp($str1,$str2)."
"; ?>
輸出:
strcmp()函數在比較字符串時,是區分大小寫的。
"; ?>
輸出結果:
-1
借助這個特性,我們可以將其運用在網站注冊賬號時的確認用戶密碼功能中(密碼通常是區分大小寫的),比較兩次輸入的密碼是否一致。
只有兩個字符串完全匹配,strcmp()函數才會認為相等的;而在上面示例中,$pwd1 和 $pwd2的大小寫不同,因此兩個字符串不相等。
但有時,我們只需要比較字符串的值,不想區分大小寫,例如比較網站的網址,那要怎么處理?簡單,可以使用strcasecmp()函數。
3、使用內置函數strcasecmp()--以不區分大小寫的方式比較兩個字符串
strcasecmp()函數和strcmp()函數類似,都可比較字符串,返回值也相同,區別只是strcasecmp()函數不區分大小寫。
下面我們來看看下面一個例子:
輸出結果:
兩個網址相同
感謝各位的閱讀,以上就是“PHP比較兩個字符串的方法”的內容了,經過本文的學習后,相信大家對PHP比較兩個字符串的方法這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是創新互聯,小編將為大家推送更多相關知識點的文章,歡迎關注!