執行個體
比較兩個字串(區分大小寫):
<?phpecho strcmp("Hello world!","Hello world!");?>
定義和用法
strcmp() 函數比較兩個字串。
注釋:strcmp() 函數是二進位安全的,且區分大小寫。
提示:該函數與 strncmp() 函數類似,不同的是,通過 strncmp() 您可以指定每個字串用於比較的字元數。
文法
strcmp(string1,string2)
| 參數 |
描述 |
| string1 |
必需。規定要比較的第一個字串。 |
| string2 |
必需。規定要比較的第二個字串。 |
技術細節
更多執行個體
執行個體 1
比較兩個字串(區分大小寫,Hello 和 hELLo 輸出不相同):
<?phpecho strcmp("Hello","Hello");echo "<br>";echo strcmp("Hello","hELLo");?>
執行個體 2
不同的傳回值:
<?phpecho strcmp("Hello world!","Hello world!"); // the two strings are equalecho strcmp("Hello world!","Hello"); // string1 is greater than string2echo strcmp("Hello world!","Hello world! Hello!"); // string1 is less than string2 ?>
以區分大小寫方式比較兩個字串
Strcmp()函數對兩個字串進行二進位安全的比較,並區分大小寫。其形式為:
int strcmp ( string str1 , string str2 )
根據比較的結果將返回如下的一個可能值。
•如果str1 和str2 相等則返回0 。
•如果str1小於str2則返回-1 。
•如果str1大於str2則返回1 。
網站經常要求待註冊的使用者輸入並確認他選擇的密碼,減少由於鍵入錯誤而產生不正確密碼的可能性。因為密碼通常是區分大小寫,所以strcmp()對於比較這兩個密碼是非常合適的:
<?php $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)
兩種方式目標相同,都是比較兩個字串,但要記住,它們返回的值卻不同。
執行個體代碼:
<?php echo strcmp("Hello world!","Hello world!"); //返回0 ?>