您好,登錄后才能下訂單哦!
這篇文章主要介紹“php如何對比字符串是否不同”的相關知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“php如何對比字符串是否不同”文章能幫助大家解決問題。
三種對比方法:1、使用比較運算符(==、===、>、<等)進行對比,例“字符串1==字符串2”,可比較兩字符串是否相等;2、使用strcmp()以區分大小寫的方式比較兩個字符串,語法“strcmp(字符串1,字符串2)”;3、使用strcasecmp()以不區分大小寫的方式比較兩個字符串,語法“strcasecmp(字符串1,字符串2)”。
本教程操作環境:windows7系統、PHP8.1版、DELL G3電腦
字符串比較(對比字符串)是字符串處理中常見的一種操作,下面介紹三種常見的比較方法:
方法1、使用比較運算符
我們可以用==
(雙等號)或者 ===
(三等號)來比較字符串是否相等。
<?php header("Content-type:text/html;charset=utf-8"); $str1="Hello world!"; $str2="Hello world!"; if($str1==$str2){ echo "兩個字符串相等<br>"; }else{ echo "兩個字符串不相等<br>"; } if($str1===$str2){ echo "兩個字符串相等<br>"; }else{ echo "兩個字符串不相等<br>"; } ?>
輸出結果:
==
和===
的區別:==不比較類型,三等號===,它不轉換類型;使用等式(==)運算符進行比較時,如果兩個值相同(它只比較變量的值,而不是數據類型),則返回true值;如果兩個值不相同,則返回false值。
使用恒等式(===)運算符進行比較時,會查看兩個變量(表達式或常量)是否值相等且具有相同的數據類型,即兩者都是字符串或兩者都是整數等等。如果兩個變量包含相同的值和相同的數據類型,則此運算符返回true,否則返回false。
我們可以用<
(小于)或者 >
(大于)來比較字符串的大小。
<?php header("Content-type:text/html;charset=utf-8"); $str1="12"; $str2="13"; if($str1>$str2){ echo "'$str1' 比 '$str2' 大<br>"; }else{ echo "'$str1' 比 '$str2' 小<br>"; } $str1="15"; $str2="13"; if($str1<$str2){ echo "'$str1' 比 '$str2' 小<br>"; }else{ echo "'$str1' 比 '$str2' 大<br>"; } ?>
輸出結果:
'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開始提供。 |
方法2、使用內置函數strcmp()--以區分大小寫的方式比較兩個字符串
<?php $str1="12"; $str2="12"; echo strcmp($str1,$str2)."<br>"; $str1="12"; $str2="13"; echo strcmp($str1,$str2)."<br>"; $str1="15"; $str2="13"; echo strcmp($str1,$str2)."<br>"; ?>
strcmp()比較兩個字符串時,如果:
如果兩個字符串相等,則會返回0;
如果string1 小于 string2,則會返回< 0 的值;
如果string1 大于 string2,則會返回> 0 的值;
方法3、使用內置函數strcasecmp()--以不區分大小寫的方式比較兩個字符串
strcasecmp()函數和strcmp()函數類似,都可比較字符串,返回值也相同,區別只是strcasecmp()函數不區分大小寫。
<?php header("Content-type:text/html;charset=utf-8"); $url1="http://www.neiyidaogou.com/"; $url2="HTTPS://WWW.PHP.CN/"; $c=strcasecmp($url1, $url2); echo $c."<br>"; if($c== 0){ echo '兩個網址相同'; } else { echo '兩個網址不同'; } ?>
關于“php如何對比字符串是否不同”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識,可以關注億速云行業資訊頻道,小編每天都會為大家更新不同的知識點。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。