天天看點

[轉]Strcmp以區分大小寫的方式比較兩個字元串

以區分大小寫的方式比較兩個字元串

Strcmp()函數對兩個字元串進行二進制安全的比較,并區分大小寫。其形式為:

int strcmp ( string str1 , string str2 )

根據比較的結果将傳回如下的一個可能值。

•如果str1 和str2 相等則傳回0 。

•如果str1小于str2則傳回-1 。

•如果str1大于str2則傳回1 。

網站經常要求待注冊的使用者輸入并确認他選擇的密碼,減少由于鍵入錯誤而生成不正确密碼的可能性。因為密碼通常是區分大小寫的,是以strcmp()對于比 較這兩個密碼是非常合适的:

$pswd = "supersecret";
   $pswd2 = "supersecret";
   if (strcmp($pswd,$pswd2) != 0)
    echo "Your passwords do not match!";
 else
 echo "Passwords match!";

           

 兩種方式目标相同,都是比較兩個字元串,但要記住,它們傳回的值卻不同。

 注意,對于strcmp ( ) ,字元串必須完全比對才認為是相等的。例如,Supersecret 不同于supersecret 。如果要以不區分大小寫的方式比較兩個字元串,可以考慮下面介紹的strcasecmp ()。

關于這個函數,另一個容易混淆的地方是:兩個字元串相等時要傳回0 。這與使用==操作符完成字元串比較有所不同,如下:

if ( $str1 = = $str2)