php比較字串的函數:1、strcasecmp(),大小寫不敏感的比較兩個字串;2、strcmp(),大小寫敏感的比較兩個字串;3、strcoll( ),根據本地設定來比較兩個字串;4、strnatcasecmp(),大小寫不敏感的使用一種「自然排序」演算法來比較兩個字串;5、strnatcmp(),大小寫敏感的使用一種「自然排序」演算法來比較兩個字串。
本教學操作環境:windows7系統、PHP8.1版、DELL G3電腦
php內建了多種字串比較函數
函數 | 描述 |
---|---|
strcasecmp() | ##比較兩個字串(大小寫不敏感)。|
比較兩個字串(大小寫敏感)。 | |
比較兩個字串(根據本地設定)。 | |
使用一種"自然排序"演算法來比較兩個字串(大小寫不敏感)。 | |
使用一種"自然排序"演算法來比較兩個字串(大小寫敏感)。 | |
前 n 個字元的字串比較(大小寫不敏感)。 | |
前 n 個字元的字串比較(大小寫敏感)。 | |
從指定的開始位置(二進位安全性和選擇性區分大小寫)比較兩個字串。 |
常用字串比較函數
#1、strcmp()函數--以區分大小寫的方式比較兩個字串
strcmp(string1,string2)比較兩個字串時,如果:
0;
的值;
> 0 的值;
<?php $str1="12"; $str2="12"; echo strcmp($str1,$str2)."<br>"; $str1="12"; $str2="13"; echo strcmp($str1,$str2)."<br>"; $str1="15"; $str2="13"; echo strcmp($str1,$str2)."<br>"; ?>
輸出:
#strcmp()函數在比較字串時,是區分大小寫的。
<?php $str1="PHP中文网"; $str2="php中文网"; echo strcmp($str1,$str2)."<br>"; ?>
輸出結果:
-1
<?php header("Content-type:text/html;charset=utf-8"); $pwd1 = 'php124@qq'; $pwd2 = 'php124@QQ'; if(strcmp($pwd1, $pwd2) != 0){ echo '密码不匹配!'; } else { echo '密码匹配!'; } ?>
但有時,我們只需要比較字串的值,不想區分大小寫,例如比較網站的網址,那要怎麼處理?簡單,可以使用strcasecmp()函數。
2、strcasecmp()函數--以不區分大小寫的方式比較兩個字串strcasecmp()函數和strcmp()函數類似,都可比較字串,傳回值也相同,差異只是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 '两个网址不同'; } ?>
輸出結果:
两个网址相同3、strncasecmp()函數--大小寫不敏感
strncasecmp() 函數比較兩個字串(不區分大小寫)。語法如下
strncasecmp(string1,string2,length)
描述 | |
---|---|
# #必需。規定要比較的第一個字串。 | |
string2 | 必要。規定要比較的第二個字串。 |
返回值:
0 - 如果两个字符串相等
>0 - 如果 string1 大于 string2
示例:
<?php echo strncasecmp("Hello world!","hello earth!",6); ?>
输出:
0
4、strnatcasecmp()函数--大小写不敏感
strnatcasecmp() 函数使用一种"自然"算法来比较两个字符串(不区分大小写)。
在自然算法中,数字 2 小于数字 10。在计算机排序中,10 小于 2,这是因为 10 中的第一个数字小于 2。
语法:
strnatcasecmp(string1,string2)
返回值:
0 - 如果两个字符串相等
>0 - 如果 string1 大于 string2
示例:
<?php echo strnatcasecmp("2Hello world!","10Hello WORLD!"); echo "<br>"; echo strnatcasecmp("10Hello world!","2Hello WORLD!"); ?>
输出:
-1 1
5、strncmp()函数--大小写敏感
strncmp() 函数比较两个字符串(区分大小写)。
该函数与 strcmp() 函数类似,不同的是,strcmp() 没有 length 参数(不能指定每个字符串用于比较的字符数)。
strncmp(string1,string2,length)
参数 | 描述 |
---|---|
string1 | 必需。规定要比较的第一个字符串。 |
string2 | 必需。规定要比较的第二个字符串。 |
length | 必需。规定每个字符串用于比较的字符数。 |
返回值和strcmp() 函数一样
<?php header("Content-type:text/html;charset=utf-8"); $pwd1 = 'password'; $pwd2 = 'Password'; if(strncmp($pwd1, $pwd2,8) != 0){ echo '密码不匹配!'; } else { echo '密码匹配!'; } ?>
推荐学习:《PHP视频教程》
以上是php比較字串的函數是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!