首頁  >  文章  >  後端開發  >  php怎麼對比字串是否不同

php怎麼對比字串是否不同

青灯夜游
青灯夜游原創
2022-07-08 20:00:033681瀏覽

三種對比方法:1、使用比較運算子(==、===、>、

php怎麼對比字串是否不同

本教學操作環境: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>";
}
?>

輸出結果:

php怎麼對比字串是否不同

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

使用等式(==)運算子進行比較時,如果兩個值相同(它只比較變數的值,而不是資料類型),則傳回true值;如果兩個值不相同,則傳回false值。

使用恆等式(===)運算子進行比較時,會查看兩個變數(表達式或常數)是否值相等且具有相同的資料類型,即兩者都是字串或兩者都是整數等等。如果兩個變數包含相同的值和相同的資料類型,則此運算子傳回true,否則傳回false。

我們可以用(小於)或 <code>>(大於)來比較字串的大小。

<?php
header("Content-type:text/html;charset=utf-8");
$str1="12";
$str2="13";
if($str1>$str2){
	echo "&#39;$str1&#39; 比 &#39;$str2&#39; 大<br>";
}else{
	echo "&#39;$str1&#39; 比 &#39;$str2&#39; 小<br>";
}
$str1="15";
$str2="13";
if($str1<$str2){
	echo "&#39;$str1&#39; 比 &#39;$str2&#39; 小<br>";
}else{
	echo "&#39;$str1&#39; 比 &#39;$str2&#39; 大<br>";
}
?>

輸出結果:

&#39;12&#39; 比 &#39;13&#39; 小
&#39;15&#39; 比 &#39;13&#39; 大

PHP比較運算子清單:

##不全等如果$a 的值不等於$b的值,或它們值的型別不同,則傳回TRUE,否則傳回FALSE$a 小與如果$a 的值小於$b 的值,則傳回TRUE,否則傳回FALSE##$a > $b$a $a >= $ b##$a $b太空船運算子(組合比較子)當$a小於、等於、大於$b時分別傳回一個小於、等於、大於0的整數值。 PHP7開始提供.$a ?? $b ?? $c   NULL合併運算子從左到右第一個存在且不為NULL 的操作數。如果都沒有定義且不為 NULL,則傳回 NULL。 PHP7開始提供。 方法2、使用內建函數strcmp()--以區分大小寫的方式比較兩個字串
比較運算子 名稱 描述
$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

<?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()比較兩個字串時,如果:php怎麼對比字串是否不同

#如果兩個字串相等,則會傳回0;
  • 如果string1 小於string2,則會傳回
  • 如果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 &#39;两个网址相同&#39;;
    } else {
        echo &#39;两个网址不同&#39;;
    }
?>

推薦學習:《php怎麼對比字串是否不同PHP影片教學

以上是php怎麼對比字串是否不同的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn