PHP字串學習之比較兩個字串

青灯夜游
發布: 2023-04-10 13:38:01
原創
6032 人瀏覽過

上一篇文章中我們了解了拼接兩個字串的方法,有需要的請看《教你使用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的值,或它們值的型別不同,則傳回TRUE,否則傳回FALSE$a < $ b小與如果$a 的值小於$b 的值,則傳回TRUE,否則傳回FALSE##$a > $b$a <= $b$a >= $ b##$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)."
"; ?>
登入後複製

输出:

PHP字串學習之比較兩個字串

strcmp()函数在比较字符串时,是区分大小写的。

";
?>
登入後複製

输出结果:

-1
登入後複製

借助这个特性,我们可以将其运用在网站注册账号时的确认用户密码功能中(密码通常是区分大小写的),比较两次输入的密码是否一致。

登入後複製

只有两个字符串完全匹配,strcmp()函数才会认为相等的;而在上面示例中,$pwd1 和 $pwd2的大小写不同,因此两个字符串不相等。

但有时,我们只需要比较字符串的值,不想区分大小写,例如比较网站的网址,那要怎么处理?简单,可以使用strcasecmp()函数。

3、使用内置函数strcasecmp()--以不区分大小写的方式比较两个字符串

strcasecmp()函数和strcmp()函数类似,都可比较字符串,返回值也相同,区别只是strcasecmp()函数不区分大小写。

下面我们来看看下面一个例子:

登入後複製

输出结果:

两个网址相同
登入後複製

好了就说到这里了,有其他想知道的,可以点击这个哦。→ →php视频教程

 最后给大家推荐阅读一个经典课程《PHP字符串处理(玉女心经版)》,免费的~快来学习啊!

以上是PHP字串學習之比較兩個字串的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助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