方法:1、用“strcasecmp(string1,string2)”語(yǔ)句;2、用“strncasecmp(string1,string2,length)”語(yǔ)句;3、用“strnatcasecmp(string1,string2)”語(yǔ)句。
本教程操作環(huán)境:windows7系統(tǒng)、PHP7.1版,DELL G3電腦
方法1:使用strcasecmp()函數(shù)
strcasecmp() 函數(shù)在比較字符串時(shí)不會(huì)區(qū)分大小寫(xiě),其語(yǔ)法格式如下:
strcasecmp(string $str1, string $str2)
其中,$str1 和 $str2 分別是要比較的兩個(gè)字符串。
根據(jù)比較結(jié)果,如果 $str1 小于 $str2,則返回值 < 0
;如果 $str1 大于 $str2,則返回值 > 0
;如果 $str1 于 $str2 相等,則返回 0
。
網(wǎng)站的網(wǎng)址都是不區(qū)分大小寫(xiě)的,因此我們可以使用 strcasecmp() 函數(shù)來(lái)比較兩個(gè)網(wǎng)址是否相同,示例代碼如下:
<?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 '兩個(gè)網(wǎng)址相同'; } else { echo '兩個(gè)網(wǎng)址不同'; } ?>
輸出:
兩個(gè)網(wǎng)址相同
方法2:使用strncasecmp()函數(shù)
strncasecmp() 函數(shù)比較兩個(gè)字符串(不區(qū)分大小寫(xiě))。
語(yǔ)法
strncasecmp(string1,string2,length)
參數(shù) | 描述 |
---|---|
string1 | 必需。規(guī)定要比較的第一個(gè)字符串。 |
string2 | 必需。規(guī)定要比較的第二個(gè)字符串。 |
length | 必需。規(guī)定每個(gè)字符串用于比較的字符數(shù)。 |
返回值: 該函數(shù)返回:
-
0
– 如果兩個(gè)字符串相等 -
<0
– 如果 string1 小于 string2 -
>0
– 如果 string1 大于 string2
示例:
<?php echo strncasecmp("Hello","Hello",6); echo "<br>"; echo strncasecmp("Hello","hELLo",6); ?>
輸出:
0 0
方法3:使用strnatcasecmp()函數(shù)
strnatcasecmp() 函數(shù)使用一種"自然"算法來(lái)比較兩個(gè)字符串(不區(qū)分大小寫(xiě))。
在自然算法中,數(shù)字 2 小于數(shù)字 10。在計(jì)算機(jī)排序中,10 小于 2,這是因?yàn)?10 中的第一個(gè)數(shù)字小于 2。
語(yǔ)法
strnatcasecmp(string1,string2)
參數(shù) | 描述 |
---|---|
string1 | 必需。規(guī)定要比較的第一個(gè)字符串。 |
string2 | 必需。規(guī)定要比較的第二個(gè)字符串。 |
返回值:
-
0
– 如果兩個(gè)字符串相等 -
<0
– 如果 string1 小于 string2 -
>0
– 如果 string1 大于 string2
示例:
<?php echo strnatcasecmp("2Hello world!","10Hello WORLD!"); echo "<br>"; echo strnatcasecmp("10Hello world!","2Hello WORLD!"); ?>
輸出:
-1 1
說(shuō)明:自然算法(strnatcmp)和常規(guī)計(jì)算機(jī)字符串排序算法(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 )
推薦學(xué)習(xí):《PHP視頻教程》