php怎麼對比字串是否不同

2022-07-08 22:01:11

三種對比方法: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>";
}
?>

輸出結果:

1.png

=====的區別:==不比較型別,三等號===,它不轉換型別;

使用等式(==)運運算元進行比較時,如果兩個值相同(它只比較變數的值,而不是資料型別),則返回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>";
?>

2.png

strcmp()比較兩個字串時,如果:

  • 如果兩個字串相等,則會返回0;

  • 如果string1 小於 string2,則會返回< 0 的值;

  • 如果string1 大於 string2,則會返回> 0 的值;

方法3、使用內建函數strcasecmp()--以不區分大小寫的方式比較兩個字串

strcasecmp()函數和strcmp()函數類似,都可比較字串,返回值也相同,區別只是strcasecmp()函數不區分大小寫。

<?php
header("Content-type:text/html;charset=utf-8");
$url1="https://www.php.cn/";
$url2="HTTPS://WWW.PHP.CN/";
$c=strcasecmp($url1, $url2);
echo $c."<br>";
if($c== 0){
        echo '兩個網址相同';
    } else {
        echo '兩個網址不同';
    }
?>

3.png

推薦學習:《》

以上就是php怎麼對比字串是否不同的詳細內容,更多請關注TW511.COM其它相關文章!