在之前的文章《PHP中怎麼去定位字串與陣列中的元素? 》中我們詳細的介紹了PHP中搜尋定位陣列元素與字串元素的相關知識,這篇文章我們來看看PHP中怎樣去比較兩個字串的相關知識,希望對大家有幫助!
在先前的文章中我們了解了可以透過strstr
函數與preg_grep
函數來進行定位搜尋字串與數組元素的操作,這是在PHP中很常見的操作,本篇我們來看看PHP怎麼去比較字串。
字串是PHP中的一個重要的資料類型,其中怎麼去比較字串也是很常見的在我們的開發工作中,比較字串有很多種的比較方法,下面我們就介紹一下比較常用的幾種比較方法。
在PHP中存在著兩個函數用來比較字串,它們是strcmp
() 和strcasecmp
() 函數,接下來我們就分別的介紹一下這兩個函數的用法。
<strong><span style="font-size: 20px;">strcmp</span></strong>
()函數
在PHP中通過strcmp
()函數能夠透過比較大小寫的形式來比較字串,strcmp
()函數的基本語法格式如下:
strcmp(string1,string2)
其中需要注意的是,參數string1
和參數string2
就是用來比較的兩個字串,如果傳回的結果等於0,表示兩個字串相等,如果傳回的結果大於0那就是表示字串string1大於字串string2,如果傳回的結果小於0則表示字串string1小於字串string2。
下面我們透過一個簡單的範例來看strcmp()函數的應用,範例如下:
<?php echo strcmp("HELlo world!","Hello world!"); echo '<br/>'; $str1="php中文网"; $str2="php中文"; echo strcmp($str1,$str2); echo '<br/>'; $str3="php"; $str4="PHP"; echo strcmp($str3,$str4); ?>
輸出結果:
其中需要注意的是,strcmp()函數是二進位安全的,並且對大小寫敏感。
接下來我們再來看一下與strcmp
()函數十分類似的strcasecmp
() 函數的使用。
<strong><span style="font-size: 20px;">strcasecmp</span></strong>
#() 函數
上文的strcmp
()函數最常用來比較大小寫,函數對大小寫很敏感,但是strcasecmp
() 函數不一樣,它對大小寫不敏感,這是它們的唯一區別。
strcasecmp
() 函數的基本語法格式如下:
strcasecmp(string1,string2)
其中需要注意的是:其中需要注意的是,參數string1
和參數string2
就是用來比較的兩個字串,如果傳回的結果等於0,表示兩個字串相等,如果傳回的結果大於0那就是表示字串string1大於字串string2,如果傳回的結果小於0則表示字串string1小於字串string2。
下面我們還是透過上文中提到的範例來看輸出結果會有什麼不同,範例如下:
<?php echo strcasecmp("HELlo world!","Hello world!"); echo '<br/>'; $str1="php中文网"; $str2="php中文"; echo strcasecmp($str1,$str2); echo '<br/>'; $str3="php"; $str4="PHP"; echo strcasecmp($str3,$str4); ?>
輸出結果:
#從上述範例中能夠看出,strcasecmp() 函數不會區分大小寫來進行字串的比較。
上文已經介紹完了兩個比較常用的字串比較函數,以下作為補充知識我們來看一下strncmp
() 函數。
<strong><span style="font-size: 20px;">strncmp</span></strong>
<span style="font-size: 20px;"></span>
() 函數
PHP中的strncmp
() 函數與上文的strcasecmp
() 函數和strcmp
()函數一樣都能夠進行字串的比較,他們有什麼不同呢?看完strncmp
() 函數的語法格式再來解釋,strncmp
() 函數的基本語法格式如下:
strncmp(string1,string2,length)
其中需要注意的是,參數string1
與string2
都是與上文中的兩個函數一樣是用來比較的兩個字串,不同的是後面的這個參數length。參數length表示的是用來規定每個字串用來表示的字元數,也就是說透過參數length的設定,不比較全部的字串了。
傳回的結果如果等於0,表示兩個字串相等,回傳結果如果大於0就表示字串string1大於字串string2,如果傳回的結果小於0則表示字串string1小於字串string2。
接下來讓我們透過範例來看strncmp() 函數的使用,範例如下:
<?php $str1="php中文网"; $str2="php中文"; echo strncmp($str1,$str2,4); echo '<br/>'; $str3="php"; $str4="PHP"; echo strncmp($str3,$str4,3); echo '<br/>'; $str5="123455789"; $str6="12345678"; echo strncmp($str5,$str6,6); ?>
輸出結果:
由此我們便透過strncmp() 函數來對規定的字元進行了字元比較,其中該函數也是對大小寫敏感。
大家如果有興趣的話,可以點選《PHP影片教學》進行更多關於PHP知識的學習。
以上是PHP怎麼去比較字串? (實例詳解)的詳細內容。更多資訊請關注PHP中文網其他相關文章!