溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

PHP中如何去比較字符串

發(fā)布時(shí)間:2021-11-05 09:56:45 來源:億速云 閱讀:129 作者:iii 欄目:編程語言

這篇文章主要講解了“PHP中如何去比較字符串”,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“PHP中如何去比較字符串”吧!

PHP中如何去比較字符串

在PHP中存在著兩個(gè)函數(shù)用來比較字符串,它們是strcmp() 和 strcasecmp() 函數(shù),接下來我們就分別的介紹一下這兩個(gè)函數(shù)的用法。

strcmp()函數(shù)

在PHP中通過strcmp()函數(shù)能夠通過比較大小寫的形式來比較字符串,strcmp()函數(shù)的基本語法格式如下:

strcmp(string1,string2)

其中需要注意的是,參數(shù)string1和參數(shù)string2就是用來比較的兩個(gè)字符串,如果返回的結(jié)果等于0,表示兩個(gè)字符串相等,如果返回的結(jié)果大于0那就是表示字符串string1大于字符串string2,如果返回的結(jié)果小于0則表示字符串string1小于字符串string2。

下面我們通過一個(gè)簡(jiǎn)單的示例來看一下strcmp()函數(shù)的應(yīng)用,示例如下:

<?php
echo strcmp("HELlo world!","Hello world!");
echo '<br/>';
$str1="億速云";
$str2="php中文";
echo strcmp($str1,$str2);
echo '<br/>';
$str3="php";
$str4="PHP";
echo strcmp($str3,$str4);
?>

輸出結(jié)果:

PHP中如何去比較字符串

其中需要注意的是,strcmp()函數(shù)是二進(jìn)制安全的,并且對(duì)大小寫敏感。

接下來我們?cè)賮砜匆幌屡cstrcmp()函數(shù)十分類似的strcasecmp() 函數(shù)的使用。

strcasecmp() 函數(shù)

上文中的strcmp()函數(shù)最常用來比較大小寫,函數(shù)對(duì)大小寫很敏感,但是strcasecmp() 函數(shù)不一樣,它對(duì)大小寫不敏感,這是它們的唯一區(qū)別。

strcasecmp() 函數(shù)的基本語法格式如下:

strcasecmp(string1,string2)

其中需要注意的是:其中需要注意的是,參數(shù)string1和參數(shù)string2就是用來比較的兩個(gè)字符串,如果返回的結(jié)果等于0,表示兩個(gè)字符串相等,如果返回的結(jié)果大于0那就是表示字符串string1大于字符串string2,如果返回的結(jié)果小于0則表示字符串string1小于字符串string2。

下面我們還是通過上文中提到的示例來看一下輸出結(jié)果會(huì)有什么不同,示例如下:

<?php
echo strcasecmp("HELlo world!","Hello world!");
echo '<br/>';
$str1="億速云";
$str2="php中文";
echo strcasecmp($str1,$str2);
echo '<br/>';
$str3="php";
$str4="PHP";
echo strcasecmp($str3,$str4);
?>

輸出結(jié)果:

PHP中如何去比較字符串

從上述示例中能夠看出,strcasecmp() 函數(shù)不區(qū)分大小寫來進(jìn)行字符串的比較。

上文中已經(jīng)介紹完了兩個(gè)比較常用的字符串比較函數(shù),下面作為補(bǔ)充知識(shí)我們來看一下strncmp() 函數(shù)。

strncmp() 函數(shù)

PHP中的strncmp() 函數(shù)與上文中的strcasecmp() 函數(shù)和strcmp()函數(shù)一樣都能夠進(jìn)行字符串的比較,他們有什么不同呢?看完strncmp() 函數(shù)的語法格式再來解釋,strncmp() 函數(shù)的基本語法格式如下:

strncmp(string1,string2,length)

其中需要注意的是,參數(shù)string1string2都是與上文中的兩個(gè)函數(shù)一樣是用來比較的兩個(gè)字符串,不同的是后面的這個(gè)參數(shù)length。參數(shù)length表示的是用來規(guī)定每個(gè)字符串用來表示的字符數(shù),也就是說通過參數(shù)length的設(shè)定,不比較全部的字符串了。

返回的結(jié)果如果等于0,表示兩個(gè)字符串相等,返回結(jié)果如果大于0就表示字符串string1大于字符串string2,如果返回的結(jié)果小于0則表示字符串string1小于字符串string2。

接下來讓我們通過示例來看一下strncmp() 函數(shù)的使用,示例如下:

<?php
$str1="億速云";
$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);
?>

輸出結(jié)果:

PHP中如何去比較字符串

由此我們便通過strncmp() 函數(shù)來對(duì)規(guī)定的字符進(jìn)行了字符比較,其中該函數(shù)也是對(duì)大小寫敏感。

感謝各位的閱讀,以上就是“PHP中如何去比較字符串”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對(duì)PHP中如何去比較字符串這一問題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是億速云,小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

php
AI