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

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

青灯夜游
青灯夜游原創
2021-07-19 11:09:522024瀏覽

方法: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,則傳回值f9e7c06a70eb034c7a5330b61036996c 0;如果$str1 於$str2 相等,則傳回0

網站的網址都是不區分大小寫的,因此我們可以使用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 - 如果兩個字串相等

  • 87b369b82df0d5b69333b3a275c14f7b0 - 如果string1 大於string2

範例:

<?php
echo strncasecmp("Hello","Hello",6);
echo "<br>";
echo strncasecmp("Hello","hELLo",6);
?>

輸出:

0
0

方法3:使用strnatcasecmp()函數

strnatcasecmp() 函數使用一種"自然"演算法來比較兩個字串(不區分大小寫)。

在自然演算法中,數字 2 小於數字 10。在電腦排序中,10 小於 2,這是因為 10 中的第一個數字小於 2。

語法

strnatcasecmp(string1,string2)
參數 #描述
string1 必要。規定要比較的第一個字串。
string2 必要。規定要比較的第二個字串。

傳回值: 

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

  • #87b369b82df0d5b69333b3a275c14f7b0 - 如果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中文網其他相關文章!

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