PHP中怎樣去比較字串?(範例詳解)

2021-11-04 19:00:14
在之前的文章《》中我們詳細的介紹了PHP中搜尋定位陣列元素與字串元素的相關知識,本篇文章我們來看一下PHP中怎樣去比較兩個字串的相關知識,希望對大家有幫助!

在之前的文章中我們瞭解了可以通過strstr函數與preg_grep函數來進行定位搜尋字串與陣列元素的操作,這是在PHP中很常見的操作,本篇我們來看一下PHP中怎樣去比較字串。

字串是PHP中的一個重要的資料型別,其中怎樣去比較字串也是很常見的在我們的開發工作中,比較字串有很多種的比較方法,下面我們就介紹一下比較常用的幾種比較方法。

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

strcmp()函數

在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="TW511.COM";
$str2="php中文";
echo strcmp($str1,$str2);
echo '<br/>';
$str3="php";
$str4="PHP";
echo strcmp($str3,$str4);
?>

輸出結果:

1104.15.png

其中需要注意的是,strcmp()函數是二進位制安全的,並且對大小寫敏感。

接下來我們再來看一下與strcmp()函數十分類似的strcasecmp() 函數的使用。

strcasecmp() 函數

上文中的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="TW511.COM";
$str2="php中文";
echo strcasecmp($str1,$str2);
echo '<br/>';
$str3="php";
$str4="PHP";
echo strcasecmp($str3,$str4);
?>

輸出結果:

1104.16.png

從上述範例中能夠看出,strcasecmp() 函數不區分大小寫來進行字串的比較。

上文中已經介紹完了兩個比較常用的字串比較函數,下面作為補充知識我們來看一下strncmp() 函數。

strncmp() 函數

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

strncmp(string1,string2,length)

其中需要注意的是,引數string1string2都是與上文中的兩個函數一樣是用來比較的兩個字串,不同的是後面的這個引數length。引數length表示的是用來規定每個字串用來表示的字元數,也就是說通過引數length的設定,不比較全部的字串了。

返回的結果如果等於0,表示兩個字串相等,返回結果如果大於0就表示字串string1大於字串string2,如果返回的結果小於0則表示字串string1小於字串string2。

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

<?php
$str1="TW511.COM";
$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);
?>

輸出結果:

1104.17.png

由此我們便通過strncmp() 函數來對規定的字元進行了字元比較,其中該函數也是對大小寫敏感。

大家如果感興趣的話,可以點選《》進行更多關於PHP知識的學習。

以上就是PHP中怎樣去比較字串?(範例詳解)的詳細內容,更多請關注TW511.COM其它相關文章!