方法:1、用「strcasecmp(string1,string2)」語句;2、用「strncasecmp(string1,string2,length)」語句;3、用「strnatcasecmp(string1,string2)」語句。
本教學操作環境:windows7系統、PHP7.1版,DELL G3電腦
方法1:使用strcasecmp()函數
strcasecmp() 函數在比較字串時不會區分大小寫,其語法格式如下:
strcasecmp(string $str1, string $str2)
其中,$str1 和$str2 分別是要比較的兩個字串。
根據比較結果,如果$str1 小於$str2,則傳回值< 0
;如果$str1 大於$str2,則傳回值> 0
;如果$str1 於$str2 相等,則傳回。
網站的網址都是不區分大小寫的,因此我們可以使用strcasecmp() 函數來比較兩個網址是否相同,範例程式碼如下:
<?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 '两个网址相同'; } else { echo '两个网址不同'; } ?>
輸出:
两个网址相同
方法2:使用strncasecmp()函數
strncasecmp() 函數比較兩個字串(不區分大小寫)。
語法
strncasecmp(string1,string2,length)
參數 | #描述 |
---|---|
string1 | 必要。規定要比較的第一個字串。 |
string2 | 必要。規定要比較的第二個字串。 |
length | 必要。規定每個字串用於比較的字元數。 |
傳回值: 函數傳回:
- 如果兩個字串相等
<0
- 如果string1 小於string2
>0
- 如果string1 大於string2
範例:
<?php echo strncasecmp("Hello","Hello",6); echo "<br>"; echo strncasecmp("Hello","hELLo",6); ?>
輸出:
登入後複製
方法3:使用strnatcasecmp()函數
strnatcasecmp() 函數使用一種"自然"演算法來比較兩個字串(不區分大小寫)。
在自然演算法中,數字 2 小於數字 10。在電腦排序中,10 小於 2,這是因為 10 中的第一個數字小於 2。
語法
strnatcasecmp(string1,string2)
參數 | #描述 |
---|---|
string1 | 必要。規定要比較的第一個字串。 |
string2 | 必要。規定要比較的第二個字串。 |
傳回值:
#0
- 如果兩個字串相等
#<0
- 如果string1 小於string2
>0
- 如果string1 大於string2
範例:
<?php echo strnatcasecmp("2Hello world!","10Hello WORLD!"); echo "<br>"; echo strnatcasecmp("10Hello world!","2Hello WORLD!"); ?>
輸出:
-1 1
說明:自然演算法(strnatcmp)和常規電腦字串排序演算法( strcmp)的不同
<?php $arr1 = $arr2 = array("pic1","pic2","pic10","pic01","pic100","pic20","pic30","pic200"); echo "Standard string comparison"."<br>"; usort($arr1,"strcmp"); print_r($arr1); echo "<br>"; echo "<br>"; echo "Natural order string comparison"."<br>"; usort($arr2,"strnatcmp"); print_r($arr2); ?>
輸出:
Standard string comparison Array ( [0] => pic01 [1] => pic1 [2] => pic10 [3] => pic100 [4] => pic2 [5] => pic20 [6] => pic200 [7] => pic30 ) Natural order string comparison Array ( [0] => pic01 [1] => pic1 [2] => pic2 [3] => pic10 [4] => pic20 [5] => pic30 [6] => pic100 [7] => pic200 )
推薦學習:《PHP影片教學》
以上是php字串怎麼進行大小寫不敏感比較的詳細內容。更多資訊請關注PHP中文網其他相關文章!