溫馨提示×

溫馨提示×

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

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

php字符串如何進行大小寫不敏感比較

發(fā)布時間:2021-07-19 11:32:30 來源:億速云 閱讀:161 作者:chen 欄目:編程語言

這篇文章主要講解了“php字符串如何進行大小寫不敏感比較”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“php字符串如何進行大小寫不敏感比較”吧!

方法:1、用“strcasecmp(string1,string2)”語句;2、用“strncasecmp(string1,string2,length)”語句;3、用“strnatcasecmp(string1,string2)”語句。

本教程操作環(huán)境:windows7系統(tǒng)、PHP7.1版,DELL G3電腦

方法1:使用strcasecmp()函數(shù)

strcasecmp() 函數(shù)在比較字符串時不會區(qū)分大小寫,其語法格式如下:

strcasecmp(string $str1, string $str2)

其中,$str1 和 $str2 分別是要比較的兩個字符串。

根據(jù)比較結(jié)果,如果 $str1 小于 $str2,則返回值 < 0;如果 $str1 大于 $str2,則返回值 > 0;如果 $str1 于 $str2 相等,則返回 0。

網(wǎng)站的網(wǎng)址都是不區(qū)分大小寫的,因此我們可以使用 strcasecmp() 函數(shù)來比較兩個網(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 '兩個網(wǎng)址相同';
} else {
    echo '兩個網(wǎng)址不同';
}
?>

輸出:

兩個網(wǎng)址相同

方法2:使用strncasecmp()函數(shù)

strncasecmp() 函數(shù)比較兩個字符串(不區(qū)分大小寫)。

語法

strncasecmp(string1,string2,length)
參數(shù)描述
string1必需。規(guī)定要比較的第一個字符串。
string2必需。規(guī)定要比較的第二個字符串。
length必需。規(guī)定每個字符串用于比較的字符數(shù)。

返回值: 該函數(shù)返回:

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

  • <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ù)使用一種"自然"算法來比較兩個字符串(不區(qū)分大小寫)。

在自然算法中,數(shù)字 2 小于數(shù)字 10。在計算機排序中,10 小于 2,這是因為 10 中的第一個數(shù)字小于 2。

語法

strnatcasecmp(string1,string2)
參數(shù)描述
string1必需。規(guī)定要比較的第一個字符串。
string2必需。規(guī)定要比較的第二個字符串。

返回值:

  • 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)和常規(guī)計算機字符串排序算法(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字符串如何進行大小寫不敏感比較”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對php字符串如何進行大小寫不敏感比較這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關(guān)知識點的文章,歡迎關(guān)注!

向AI問一下細節(jié)

免責(zé)聲明:本站發(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