php strcmp使用說明

來源:互聯網
上載者:User

以區分大小寫方式比較兩個字串
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
?>

下面這個是比較好的strcmp的例子代碼:
PHP strcmp根據IP地址控制訪問的代碼

簡單的補充:
這裡的str1和str2比較 實際上是str1和str2 的ASCII值的比較
比如:
strcmp("A","a"); 傳回值為 -1
// a的ASCII值是97 A的ASCII值是65
由此例子還可以看出 當用strcmp()比較字串時,是區分大小寫

接著再看strcmp的深入理解:

strcmp("abc","abc"); 此時 字串相等 傳回值為 0
我們改一下 strcmp("aBc","abc");此時就不相等了 傳回值為-1
由於strcmp是讓aBc和abc逐一比較的,兩個字串的第一個和第一個比較,第

二個和第二個比較……當每一次比較的ASCII值相等時,才能繼續比較下一對

字元。 所以,比較第二對 B和b,不相等,那麼比較停止,出現傳回值。

if ("abc">"aBC") 比較原理一樣

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.