PHP中字符串比較的常用方法


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
 
$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
說明:按照自然排序進行比較時,還有一個作用與strnatcmp()函數相同,但是不區分大小寫的strnatcasecmp()函數
 
         

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 ?>

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM