日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
php有字符串比較方法嗎

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

php中有字符串比較方法。

php內(nèi)置了多種字符串比較方法:

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

1. 按照字節(jié)進(jìn)行字符串的比較

按照字節(jié)進(jìn)行字符串的比較方法有兩種,分別是利用 strcmp()函數(shù)和 strcasecmp()函數(shù)。 這兩種函數(shù)的區(qū)別是 strcmp()函數(shù)區(qū)分字符的大小寫,而strcasecmp()函數(shù)不區(qū)分字符的大小寫。由于這兩個(gè)函數(shù)的實(shí)現(xiàn)方法基本相同,這里只是拿出其中的 strcmp()函數(shù)來(lái)進(jìn)行一下介紹。

strcmp()函數(shù)用來(lái)對(duì)兩個(gè)字符串按字節(jié)進(jìn)行比較。

語(yǔ)法格式如下:

strcmp(string1, string2)

注意 該函數(shù)區(qū)分字母大小寫。參數(shù)string1 和 參數(shù)string2 指定要比較的兩個(gè)字符串。如果相等則函數(shù)返回值為0;如果參數(shù) string1 大于參數(shù) string2,則函數(shù)返回值大于0;如果參數(shù) string1 小于參數(shù) string2,則函數(shù)返回值小于0。

使用 srtcmp()函數(shù)和 strcasecmp()函數(shù)分別對(duì)兩個(gè)字符串按字節(jié)進(jìn)行比較,代碼實(shí)例如下:

輸出結(jié)果為:

0 1 0

說(shuō)明: 在PHP中,對(duì)字符串之間進(jìn)行比較的應(yīng)用是非常廣泛的。比如,使用strcmp()函數(shù)比較在用戶登錄體統(tǒng)中輸入的用戶名和密碼是否正確,如果在驗(yàn)證用戶和密碼時(shí)不用此函數(shù),那么輸入用戶名和密碼無(wú)論是大寫還是小寫,只要正確即可登錄。使用了 srtcmp()函數(shù)之后就避免了這種情況,及時(shí)正確,也必須大小寫全部匹配才可以登錄,從而提高了網(wǎng)站的安全性。

2. 按自然排序法進(jìn)行字符串的比較

在PHP中,按照自然排序法進(jìn)行字符串的比較是通過(guò)使用 strnatcmp()函數(shù)來(lái)實(shí)現(xiàn)的。自認(rèn)排序法比較的是字符串的數(shù)字部分,將字符串中的數(shù)字按照大小進(jìn)行比較。它的語(yǔ)法是如下的格式:

strnatcmp(string1, string2)

提示: 該函數(shù)區(qū)分字母大小寫。如果參數(shù)string1 和 參數(shù)string2相等則函數(shù)返回值為0;如果參數(shù) string1 大于參數(shù) string2,則函數(shù)返回值大于0;如果參數(shù) string1 小于參數(shù) string2,則函數(shù)返回值小于0。

注意:在自然運(yùn)算法則中,2比10小,然而在計(jì)算機(jī)的序列中,10比2小,因?yàn)?10" 中的第一個(gè)數(shù)字是“1”,它是小于“2”的。

使用 strnatcmp()函數(shù)按照自然排序法進(jìn)行字符串的比較的實(shí)例代碼如下所示:

輸出的結(jié)果為:

-1  1

說(shuō)明: 按照自認(rèn)排序法進(jìn)行比較,還可以使用另一個(gè)與 strnatcmp()函數(shù)作用相同,但不區(qū)分大小的strnatcasecmp()函數(shù)。

3. 指定從源字符串位置開(kāi)始比較的函數(shù)

strncmp()函數(shù)用來(lái)比較字符串中的前n個(gè)字符。

它的語(yǔ)法是如下的格式:

strncmp(string1, string2, length)

它的參數(shù)說(shuō)明如下:如果參數(shù)string1 和 參數(shù)string2相等則函數(shù)返回值為0;如果參數(shù) string1 大于參數(shù) string2,則函數(shù)返回值大于0;如果參數(shù) string1 小于參數(shù) string2,則函數(shù)返回值小于0。該函數(shù)區(qū)分字母大小寫。

參 數(shù) 說(shuō) 明
string1 指定參與比較的第一個(gè)字符串對(duì)象
string2 指定參與比較的第二個(gè)字符串對(duì)象
length 必要參數(shù),指定每個(gè)字符串中參與比較字符串的數(shù)量

使用strncmp()函數(shù)比較字符串的前兩個(gè)字符是否與源字符串相等,其實(shí)例代碼如下所示:

輸出結(jié)果為:

-1

注釋:從上面的代碼中可以看出,由于變量$str2 中的字符串的首字母為小寫,與變量$str1 中的字符串不匹配,所以兩個(gè)字符串比較過(guò)后的函數(shù)返回值為 -1。


標(biāo)題名稱:php有字符串比較方法嗎
網(wǎng)站地址:http://www.dlmjj.cn/article/ccsheoi.html