PHP中字符串比較的常用方法
一、總結
1、其實應該是直接等於號就可以了的
2、也可用strcmp,注意返回值
二、PHP中字符串比較的常用方法
1、按字節比較
按字節比較字符串是最常用的方法。其中可能用到的函數為strcmp()和strcasecmp()。
這兩個函數的區別為strcmp()區分字符的大小寫,strcasecmp()不區分字符的大小寫,兩者用法基本相同。
這里只介紹strcmp();
語法如下
int strcmp(string str1,string str2)
參數str1和參數str2為要比較的兩個字符串,如果相等則返回0;如果參數str1大於str2則返回值大於0;如果參數str1小於str2則返回值小於0。
例如:
$str1="107網站工作室";運行結果如下:
$str2="107網站工作";
echo strcmp($str1,$str2);
$str3="lab";
$str4="LAB";
echo strcmp($str3,$str4);
echo strcasecmp($str3,$str4);
310
2、按自然排序法比較
在PHP中,按照自然排序法進行字符串比較是同過strnatcmp()函數來實現的。自然排序法比較的是字符串中的數字部分,將字符串中的數字按照大小經行排序。
語法如下:
int strnatcmp(string str1,string str2)
strnatcmp() 函數使用一種"自然"算法來比較兩個字符串。
在自然算法中,數字 2 小於數字 10。在計算機排序中,10 小於 2,這是因為 10 中的第一個數字小於 2。
$str1="str3.jpg";輸出結果為:
$str2="str10.jpg";
echo "按字節比較:".strcmp($str1,$str2)."<br>";
echo "按自然排序法比較:".strnatcmp($str1,$str2)."<br>";
$str3="mrsoft1";
$str4="MRSOFT2";
echo "按字節比較:".strcmp($str3,$str4)."<br>";
echo "按自然排序法比較:".strnatcmp($str3,$str4)."<br>";
按字節比較:1
按自然排序法比較:-1
按字節比較:1
按自然排序法比較:1
按自然排序法比較:-1
按字節比較:1
按自然排序法比較:1
$str1
=
"mrsoft1"
;
$str2
=
"MRSOFT2"
;
echo
strnatcmp
(
$str1
,
$str2
);
//1 因為 m 大於 M
$str1
=
"mrsoft1"
;
$str2
=
"mrsoft2"
;
echo
strnatcmp
(
$str1
,
$str2
);
//-1 這樣才對
$str1
=
"mrsoft11"
;
$str2
=
"mrsoft2"
;
echo
strnatcmp
(
$str1
,
$str2
);
//1 這才是本意 11 大於 2
3、指定從源字符串的位置比較
strncmp()函數用來比較字符串中的前n個字符,該函數區分大小寫
語法如下:
int strncmp(string str1,string str2,int len)
參數str1規定要比較的首個字符串。參數str2規定要比較的第二個字符串。len(必需)規定比較中所用的每個字符串的字符數。
如果相等則返回0;如果參數str1大於str2則返回值大於0;如果參數str1小於str2則返回值小於0。
例如:
$str1="123455789";運算結果為
$str2="12345678";
echo strncmp($str1,$str2,6);
-1
提示:該函數與
strcmp() 函數類似,不同的是,strcmp() 沒有 length 參數
參考:
PHP中字符串比較的常用方法 - CSDN博客
https://blog.csdn.net/qq_28602957/article/details/50958782
三、 php簡單判斷兩個字符串是否相等的方法
1 <?php 2 function strcomp($str1,$str2){ 3 if($str1 == $str2){ 4 return TRUE; 5 }else{ 6 return FALSE; 7 } 8 } 9 echo strcomp("First string","Second string"); 10 //Returns FALSE 11 echo strcomp("A string","A string"); 12 //Returns TRUE 13 ?>