首頁 > 後端開發 > PHP問題 > php字串怎麼進行大小寫不敏感比較

php字串怎麼進行大小寫不敏感比較

青灯夜游
發布: 2023-03-11 17:34:02
原創
2065 人瀏覽過

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

php字串怎麼進行大小寫不敏感比較

本教學操作環境: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 = &#39;https://www.php.cn/&#39;;
$url2 = &#39;HTTPS://www.php.cn/&#39;;
if(strcasecmp($url1, $url2) == 0){
    echo &#39;两个网址相同&#39;;
} else {
    echo &#39;两个网址不同&#39;;
}
?>
登入後複製

輸出:

两个网址相同
登入後複製

方法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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板