溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

PHP比較兩個字符串的方法

發(fā)布時間:2021-08-03 15:13:24 來源:億速云 閱讀:114 作者:chen 欄目:編程語言

這篇文章主要講解了“PHP比較兩個字符串的方法”,文中的講解內(nèi)容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“PHP比較兩個字符串的方法”吧!

字符串比較是字符串處理中常見的一種操作,PHP中比較兩個字符串有很多方法,本篇文章通過代碼實例來給大家介紹三種常見的比較方法:

  • 使用比較運算符:==/===>、<

  • 內(nèi)置函數(shù)strcmp()

  • 內(nèi)置函數(shù)strcasecmp()

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>";
}
?>

輸出結(jié)果:

兩個字符串相等
兩個字符串相等

=====的區(qū)別:==不比較類型,三等號===,它不轉(zhuǎn)換類型;

使用等式(==)運算符進行比較時,如果兩個值相同(它只比較變量的值,而不是數(shù)據(jù)類型),則返回true值;如果兩個值不相同,則返回false值。

使用恒等式(===)運算符進行比較時,會查看兩個變量(表達式或常量)是否值相等且具有相同的數(shù)據(jù)類型,即兩者都是字符串或兩者都是整數(shù)等等。如果兩個變量包含相同的值和相同的數(shù)據(jù)類型,則此運算符返回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>";
}
?>

輸出結(jié)果:

'12' 比 '13' 小
'15' 比 '13' 大

PHP比較運算符列表:

比較運算符名稱描述
$a == $b等于如果類型轉(zhuǎn)換后 $a 和 $b 的值相等,則返回 TRUE,否則返回 FALSE
$a === $b全等如果 $a 和 $b 不僅值相等,而且它們值的類型也相等,則返回 TRUE,否則返回 FALSE
$a != $b不等于如果類型轉(zhuǎn)換后 $a 的值不等于 $b 的值,則返回TRUE,否則返回 FALSE
$a <> $b不等于與 != 相同,如果類型轉(zhuǎn)換后 $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 ?? $cNULL合并操作符從左往右第一個存在且不為 NULL 的操作數(shù)。如果都沒有定義且不為 NULL,則返回 NULL。PHP7開始提供。

除了可以使用比較運算符來比較字符串外,還可以使用函數(shù)來比較字符串。PHP 中提供了兩個函數(shù)來實現(xiàn)字符串比較功能,分別是 strcmp() 和 strcasecmp() 函數(shù),我們來看看。

2、使用內(nèi)置函數(shù)strcmp()--以區(qū)分大小寫的方式比較兩個字符串

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

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

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

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

我們先來看下面一個例子:

<?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>";
?>

輸出:

PHP比較兩個字符串的方法

strcmp()函數(shù)在比較字符串時,是區(qū)分大小寫的。

<?php
$str1="億速云";
$str2="億速云";
echo strcmp($str1,$str2)."<br>";
?>

輸出結(jié)果:

-1

借助這個特性,我們可以將其運用在網(wǎng)站注冊賬號時的確認用戶密碼功能中(密碼通常是區(qū)分大小寫的),比較兩次輸入的密碼是否一致。

<?php
header("Content-type:text/html;charset=utf-8");
$pwd1 = 'php124@qq';
$pwd2 = 'php124@QQ';
if(strcmp($pwd1, $pwd2) != 0){
    echo '密碼不匹配!';
} else {
    echo '密碼匹配!';
}
?>

只有兩個字符串完全匹配,strcmp()函數(shù)才會認為相等的;而在上面示例中,$pwd1 和 $pwd2的大小寫不同,因此兩個字符串不相等。

但有時,我們只需要比較字符串的值,不想?yún)^(qū)分大小寫,例如比較網(wǎng)站的網(wǎng)址,那要怎么處理?簡單,可以使用strcasecmp()函數(shù)。

3、使用內(nèi)置函數(shù)strcasecmp()--以不區(qū)分大小寫的方式比較兩個字符串

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

下面我們來看看下面一個例子:

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

輸出結(jié)果:

兩個網(wǎng)址相同

感謝各位的閱讀,以上就是“PHP比較兩個字符串的方法”的內(nèi)容了,經(jīng)過本文的學習后,相信大家對PHP比較兩個字符串的方法這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關(guān)知識點的文章,歡迎關(guān)注!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

php
AI