php strcmp使用說明
更新時間:2010年04月22日 20:12:09 作者:
Strcmp()函數(shù)對兩個字符串進(jìn)行二進(jìn)制安全的比較,并區(qū)分大小寫。
以區(qū)分大小寫的方式比較兩個字符串
Strcmp()函數(shù)對兩個字符串進(jìn)行二進(jìn)制安全的比較,并區(qū)分大小寫。其形式為:
int strcmp ( string str1 , string str2 )
根據(jù)比較的結(jié)果將返回如下的一個可能值。
•如果str1 和str2 相等則返回0 。
•如果str1小于str2則返回-1 。
•如果str1大于str2則返回1 。
網(wǎng)站經(jīng)常要求待注冊的用戶輸入并確認(rèn)他選擇的密碼,減少由于鍵入錯誤而生成不正確密碼的可能性。因為密碼通常是區(qū)分大小寫的,所以strcmp()對于比較這兩個密碼是非常合適的:
<?php
$pswd = "supersecret";
$pswd2 = "supersecret";
if (strcmp($pswd,$pswd2) != 0)
echo "Your passwords do not match!";
else
echo "Passwords match!";
?>
注意,對于strcmp ( ) ,字符串必須完全匹配才認(rèn)為是相等的。例如,Supersecret 不同于supersecret 。如果要以不區(qū)分大小寫的方式比較兩個字符串,可以考慮下面介紹的strcasecmp ()。
關(guān)于這個函數(shù),另一個容易混淆的地方是:兩個字符串相等時要返回0 。這與使用==操作符完成字符串比較有所不同,如下:
if ( $str1 = = $str2)
兩種方式目標(biāo)相同,都是比較兩個字符串,但要記住,它們返回的值卻不同。
實(shí)例代碼:
<?php
echo strcmp("Hello world!","Hello world!");
//返回0
?>
下面這個是比較好的strcmp的例子代碼:
PHP strcmp根據(jù)IP地址控制訪問的代碼
簡單的補(bǔ)充:
這里的str1和str2比較 實(shí)際上是str1和str2 的ASCII值的比較
比如:
strcmp("A","a"); 返回值為 -1
// a的ASCII值是97 A的ASCII值是65
由此例子還可以看出 當(dāng)用strcmp()比較字符串時,是區(qū)分大小寫的
接著再看strcmp的深入理解:
strcmp("abc","abc"); 此時 字符串相等 返回值為 0
我們改一下 strcmp("aBc","abc");此時就不相等了 返回值為-1
由于strcmp是讓aBc和abc逐一比較的,兩個字符串的第一個和第一個比較,第
二個和第二個比較……當(dāng)每一次比較的ASCII值相等時,才能繼續(xù)比較下一對
字符。 所以,比較第二對 B和b,不相等,那么比較停止,出現(xiàn)返回值。
if ("abc">"aBC") 比較原理一樣
Strcmp()函數(shù)對兩個字符串進(jìn)行二進(jìn)制安全的比較,并區(qū)分大小寫。其形式為:
int strcmp ( string str1 , string str2 )
根據(jù)比較的結(jié)果將返回如下的一個可能值。
•如果str1 和str2 相等則返回0 。
•如果str1小于str2則返回-1 。
•如果str1大于str2則返回1 。
網(wǎng)站經(jīng)常要求待注冊的用戶輸入并確認(rèn)他選擇的密碼,減少由于鍵入錯誤而生成不正確密碼的可能性。因為密碼通常是區(qū)分大小寫的,所以strcmp()對于比較這兩個密碼是非常合適的:
復(fù)制代碼 代碼如下:
<?php
$pswd = "supersecret";
$pswd2 = "supersecret";
if (strcmp($pswd,$pswd2) != 0)
echo "Your passwords do not match!";
else
echo "Passwords match!";
?>
注意,對于strcmp ( ) ,字符串必須完全匹配才認(rèn)為是相等的。例如,Supersecret 不同于supersecret 。如果要以不區(qū)分大小寫的方式比較兩個字符串,可以考慮下面介紹的strcasecmp ()。
關(guān)于這個函數(shù),另一個容易混淆的地方是:兩個字符串相等時要返回0 。這與使用==操作符完成字符串比較有所不同,如下:
if ( $str1 = = $str2)
兩種方式目標(biāo)相同,都是比較兩個字符串,但要記住,它們返回的值卻不同。
實(shí)例代碼:
復(fù)制代碼 代碼如下:
<?php
echo strcmp("Hello world!","Hello world!");
//返回0
?>
下面這個是比較好的strcmp的例子代碼:
PHP strcmp根據(jù)IP地址控制訪問的代碼
簡單的補(bǔ)充:
這里的str1和str2比較 實(shí)際上是str1和str2 的ASCII值的比較
比如:
strcmp("A","a"); 返回值為 -1
// a的ASCII值是97 A的ASCII值是65
由此例子還可以看出 當(dāng)用strcmp()比較字符串時,是區(qū)分大小寫的
接著再看strcmp的深入理解:
strcmp("abc","abc"); 此時 字符串相等 返回值為 0
我們改一下 strcmp("aBc","abc");此時就不相等了 返回值為-1
由于strcmp是讓aBc和abc逐一比較的,兩個字符串的第一個和第一個比較,第
二個和第二個比較……當(dāng)每一次比較的ASCII值相等時,才能繼續(xù)比較下一對
字符。 所以,比較第二對 B和b,不相等,那么比較停止,出現(xiàn)返回值。
if ("abc">"aBC") 比較原理一樣
您可能感興趣的文章:
- PHP中strnatcmp()函數(shù)“自然排序算法”進(jìn)行字符串比較用法分析(對比strcmp函數(shù))
- PHP中strcmp()和strcasecmp()函數(shù)字符串比較用法分析
- PHP字符串比較函數(shù)strcmp()和strcasecmp()使用總結(jié)
- 基于PHP字符串的比較函數(shù)strcmp()與strcasecmp()的使用詳解
- php比較兩個字符串長度的方法
- php比較相似字符串的方法
- php實(shí)現(xiàn)比較兩個字符串日期大小的方法
- php常用字符串比較函數(shù)實(shí)例匯總
- PHP學(xué)習(xí)之字符串比較和查找
- PHP中strncmp()函數(shù)比較兩個字符串前2個字符是否相等的方法
相關(guān)文章
php數(shù)組函數(shù)序列之sort() 對數(shù)組的元素值進(jìn)行升序排序
sort() 函數(shù)按升序?qū)o定數(shù)組的值排序。注釋:本函數(shù)為數(shù)組中的單元賦予新的鍵名。原有的鍵名將被刪除2011-11-11php htmlspecialchars()與shtmlspecialchars()函數(shù)的深入分析
本篇文章是對php中的htmlspecialchars()與shtmlspecialchars() 函數(shù)進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06PHP學(xué)習(xí)筆記 (1) 環(huán)境配置與代碼調(diào)試
學(xué)習(xí)php第一步就是需要配置php運(yùn)行環(huán)境,這個是基礎(chǔ),需要的朋友可以參考下。2011-06-06php中字符集轉(zhuǎn)換iconv函數(shù)使用總結(jié)
這篇文章主要介紹了php中字符集轉(zhuǎn)換iconv函數(shù)使用總結(jié),本文同時介紹了mb_convert_encoding函數(shù),需要的朋友可以參考下2014-10-10php中FTP函數(shù)ftp_connect、ftp_login與ftp_chmod用法
這篇文章主要介紹了php中FTP函數(shù)ftp_connect、ftp_login與ftp_chmod用法,詳細(xì)講述了PHP的FTP操作技巧,并以實(shí)例形式對ftp_connect、ftp_login與ftp_chmod的用法進(jìn)行了總結(jié),需要的朋友可以參考下2014-11-11