首頁  >  文章  >  後端開發  >  php怎麼判斷兩個字串是否相等

php怎麼判斷兩個字串是否相等

青灯夜游
青灯夜游原創
2022-08-17 19:40:367389瀏覽

5種方法:1、用“字串1==字串2”,如果回傳true則相等。 2、用“strcmp(字串1,字串2)”,如果傳回值為0則相等。 3.用“strcasecmp(字串1,字串2)”,如果傳回值為0則相等。 4.用“strncasecmp(字串1,字串2,字元個數)”,如果傳回值為0則相等。 5.用“strncmp(字串1,字串2,字元個數)”,如果傳回值為0則相等。

php怎麼判斷兩個字串是否相等

本教學操作環境:windows7系統、PHP8.1版、DELL G3電腦

判斷兩個字串是否相等? PHP內建了多個函數可以實作:

  • strcmp()

  • #strcasecmp()

  • strncasecmp()

  •  strncmp()

#也可以使用相等運算子「==」來進行比較判斷。下面我們來看看:

1、使用運算子“==”比較字串是否相等

##“==”表示“相等”,是一個比較運算符,用於比較等號兩邊表達式或變數是否相等。

<?php
header("Content-type:text/html;charset=utf-8");
$pwd1 = &#39;password&#39;;
$pwd2 = &#39;Password&#39;;
if($pwd1==$pwd2){
    echo &#39;密码不匹配!&#39;;
} else {
    echo &#39;密码匹配!&#39;;
}
?>

php怎麼判斷兩個字串是否相等

2、使用strcmp()函數比較字串是否相等

strcmp() : 比較兩個字串(大小寫敏感)。

strcmp(字符串1,字符串2)

傳回值分為3種情況:


  • #0 - 如果兩個字串相等

  • # - 如果字串1 小於 字串2

  • >0 - 如果字串1 大於 字串2

#只需要檢查strcmp()函數的回傳值是否等於0即可知道兩個字串是否相等。

<?php
header("Content-type:text/html;charset=utf-8");
$pwd1 = &#39;password&#39;;
$pwd2 = &#39;Password&#39;;
if(strcmp($pwd1, $pwd2) != 0){
    echo &#39;密码不匹配!&#39;;
} else {
    echo &#39;密码匹配!&#39;;
}
?>

php怎麼判斷兩個字串是否相等

注意,對於 strcmp() 函數,待比較的兩個字串必須完全匹配才能被認為是相等的。例如 範例程式碼中的 $pwd1 和 $pwd2 就是不同的。如果要以不區分大小寫的方式比較兩個字串,可以使用 strcasecmp() 函數。

3、使用strcasecmp()函數比較字串是否相等

PHP 中的strcasecmp() 函數與strcmp() 函數的函數類似,都可以比較兩個字串,不同的是strcasecmp() 函數在比較字串時不會區分大小寫,其語法格式如下:

strcasecmp($str1,$str2)

根據比較結果,

  • 如果$str1 小於$str2,則傳回值
  • 如果$str1 大於$str2,則傳回值> 0;

  • #如果$str1 於$str2 相等,則回傳0。

只需檢查strcasecmp()函數的回傳值是否等於0即可知道兩個字串是否相等。

<?php
header("Content-type:text/html;charset=utf-8");
$url1 = &#39;http://www.php.cn/&#39;;
$url2 = &#39;HTTP://www.php.cn/&#39;;
if(strcasecmp($url1, $url2) == 0){
    echo &#39;两个网址相同&#39;;
} else {
    echo &#39;两个网址不同&#39;;
}
?>

php怎麼判斷兩個字串是否相等

4、使用strncasecmp()函數比較字串是否相等

strncasecmp() 函數比較兩個字串(不區分大小寫)。

此函數與 strcasecmp() 函數類似,不同的是,strcasecmp() 沒有 length 參數(不能指定每個字串用於比較的字元數)。

strncasecmp(string1,string2,length)

參數描述必要。規定要比較的第一個字串。 必要。規定要比較的第二個字串。 必要。規定每個字串用於比較的字元數。
#string1
string2
length
傳回值和strcasecmp() 函數一樣

<?php
header("Content-type:text/html;charset=utf-8");
$url1 = &#39;http://www.php.cn/&#39;;
$url2 = &#39;HTTP://www.php.cn/&#39;;
if(strncasecmp($url1, $url2,18) == 0){
    echo &#39;两个网址相同&#39;;
} else {
    echo &#39;两个网址不同&#39;;
}
?>

php怎麼判斷兩個字串是否相等

5、使用strncmp()函數比較字串是否相等

strncmp() 函數比較兩個字串(區分大小寫)。

此函數與 strcmp() 函數類似,不同的是,strcmp() 沒有 length 參數(無法指定每個字串用於比較的字元數)。

strncmp(string1,string2,length)

參數描述必要。規定要比較的第一個字串。 必要。規定要比較的第二個字串。 必要。規定每個字串用於比較的字元數。

返回值和strcmp()  函数一样

<?php
header("Content-type:text/html;charset=utf-8");
$pwd1 = &#39;password&#39;;
$pwd2 = &#39;Password&#39;;
if(strncmp($pwd1, $pwd2,8) != 0){
    echo &#39;密码不匹配!&#39;;
} else {
    echo &#39;密码匹配!&#39;;
}
?>

php怎麼判斷兩個字串是否相等

推荐学习:《PHP视频教程

#string1
string2
length

以上是php怎麼判斷兩個字串是否相等的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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