站長資訊網
最全最豐富的資訊網站

php比較字符串的函數是什么

php比較字符串的函數:1、strcasecmp(),大小寫不敏感的比較兩個字符串;2、strcmp(),大小寫敏感的比較兩個字符串;3、strcoll(),根據本地設置來比較兩個字符串;4、strnatcasecmp(),大小寫不敏感的使用一種“自然排序”算法來比較兩個字符串;5、strnatcmp(),大小寫敏感的使用一種“自然排序”算法來比較兩個字符串。

php比較字符串的函數是什么

本教程操作環境:windows7系統、PHP8.1版、DELL G3電腦

php內置了多種字符串比較函數

函數 描述
strcasecmp() 比較兩個字符串(大小寫不敏感)。
strcmp() 比較兩個字符串(大小寫敏感)。
strcoll() 比較兩個字符串(根據本地設置)。
strnatcasecmp() 使用一種"自然排序"算法來比較兩個字符串(大小寫不敏感)。
strnatcmp() 使用一種"自然排序"算法來比較兩個字符串(大小寫敏感)。
strncasecmp() 前 n 個字符的字符串比較(大小寫不敏感)。
strncmp() 前 n 個字符的字符串比較(大小寫敏感)。
substr_compare() 從指定的開始位置(二進制安全和選擇性區分大小寫)比較兩個字符串。

常用字符串比較函數

1、strcmp()函數–以區分大小寫的方式比較兩個字符串

strcmp(string1,string2)比較兩個字符串時,如果:

  • 如果兩個字符串相等,則會返回0

  • 如果string1 小于 string2,則會返回< 0 的值;

  • 如果string1 大于 string2,則會返回> 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>"; ?>

輸出:

php比較字符串的函數是什么

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 '密碼匹配!'; } ?>

只有兩個字符串完全匹配,strcmp()函數才會認為相等的;而在上面示例中,$pwd1 和 $pwd2的大小寫不同,因此兩個字符串不相等。

php比較字符串的函數是什么

但有時,我們只需要比較字符串的值,不想區分大小寫,例如比較網站的網址,那要怎么處理?簡單,可以使用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)
參數 描述
string1 必需。規定要比較的第一個字符串。
string2 必需。規定要比較的第二個字符串。
length 必需。規定每個字符串用于比較的字符數。

返回值:

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

  • <0 – 如果 string1 小于 string2

  • >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

  • >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視頻教程》

前端(VUE)入門到精通:立即學習

贊(0)
分享到: 更多 (0)
網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
国产日韩高清三级精品人成| 中文字幕日韩专区| 久re这里只有精品最新地址| 中文无码精品一区二区三区| 亚洲AV无码成人精品区大在线| 日韩一区二区三区在线精品| 老司机亚洲精品影院在线观看| 国产精品大bbwbbwbbw| 91精品全国免费观看含羞草 | 182tv精品视频在线播放| 久久免费观看国产精品| 亚洲精品中文字幕乱码三区| 91精品成人免费国产| 国产精品成人观看视频| 任我爽精品视频在线播放| 强制高潮18XXXXHD日韩| 亚洲日韩亚洲另类激情文学| 亚洲高清专区日韩精品| 日韩乱码人妻无码中文字幕视频 | 亚洲国产精品激情在线观看| 日韩在线观看第一页| 中日韩无砖码一线二线| 国产日韩精品视频一区二区三区| 亚洲av日韩av无码| 日韩av无码中文字幕| 亚洲日韩精品国产3区| 日韩精品一区二区三区中文| 日韩一区二区在线观看视频| 无码中文字幕日韩专区| 老司机亚洲精品影院| 日韩精品亚洲人成在线观看| 亚洲精品免费观看| 99精品众筹模特自拍视频| 久久精品中文字幕无码绿巨人| 久久久久成人精品无码中文字幕 | 69国产成人精品午夜福中文| 777国产偷窥盗摄精品品在线| 久久久久精品国产亚洲AV无码| 亚洲精品第一国产综合精品| 日本阿v精品视频在线观看| 18国产精品白浆在线观看免费|