判斷方法:1、使用“===”運算符,語法“字符串1===字符串2”;2、使用strcmp()函數(shù),語法“strcmp(字符串1,字符串2)”;3、使用strcasecmp()函數(shù),語法“strcasecmp(字符串1,字符串2)”。
本教程操作環(huán)境:windows7系統(tǒng)、PHP7.1版、DELL G3電腦
php中判斷字符串等不等于(相等)
方法1:使用“===”運算符
“===”是全等運算符,如果 $a 和 $b 不僅值相等,而且它們值的類型也相等,則返回 TRUE,否則返回 FALSE。
<?php header("Content-type:text/html;charset=utf-8"); $pwd1 = 'password'; $pwd2 = 'Password'; if($pwd1===$pwd2){ echo '密碼不匹配!'; } else { echo '密碼匹配!'; } ?>
方法2:使用strcmp()函數(shù)
strcmp() 函數(shù)可以對兩個字符串進行二進制安全的比較,并且區(qū)分大小寫,其語法格式如下:
strcmp(string $str1, string $str2)
其中 $str1 和 $str2 分別是要比較的兩個字符串。
根據(jù)比較結(jié)果 strcmp() 函數(shù)會返回不同的值,如果 $str1 小于 $str2,則返回值 < 0;如果 $str1 大于 $str2,則返回值 > 0;如果 $str1 與 $str2 相等,則返回 0。
當我們在某個網(wǎng)站上注冊賬號時,對于用戶密碼通常需要輸入兩次來確認,以此減少由于輸入錯誤而造成的密碼設定錯誤。因為密碼通常是區(qū)分大小寫的,所以可以使用 strcmp() 函數(shù)來比較兩次輸入的密碼,示例代碼如下所示:
<?php header("Content-type:text/html;charset=utf-8"); $pwd1 = 'password'; $pwd2 = 'Password'; if(strcmp($pwd1, $pwd2) != 0){ echo '密碼不匹配!'; } else { echo '密碼匹配!'; } ?>
注意,對于 strcmp() 函數(shù),待比較的兩個字符串必須完全匹配才能被認為是相等的。例如 示例代碼中的 $pwd1 和 $pwd2 就是不同的。如果要以不區(qū)分大小寫的方式比較兩個字符串,可以使用 strcasecmp() 函數(shù)。
方法3:使用strcasecmp()函數(shù)
PHP 中的 strcasecmp() 函數(shù)與 strcmp() 函數(shù)的功能類似,都可以比較兩個字符串,不同的是 strcasecmp() 函數(shù)在比較字符串時不會區(qū)分大小寫,其語法格式如下:
strcasecmp(string $str1, string $str2)
其中,$str1 和 $str2 分別是要比較的兩個字符串。
根據(jù)比較結(jié)果,如果 $str1 小于 $str2,則返回值 < 0;如果 $str1 大于 $str2,則返回值 > 0;如果 $str1 于 $str2 相等,則返回 0。
網(wǎng)站的網(wǎng)址都是不區(qū)分大小寫的,因此我們可以使用 strcasecmp() 函數(shù)來比較兩個網(wǎng)址是否相同,示例代碼如下:
<?php header("Content-type:text/html;charset=utf-8"); $url1 = 'http://www.php.cn/'; $url2 = 'HTTP://www.php.cn/'; if(strcasecmp($url1, $url2) == 0){ echo '兩個網(wǎng)址相同'; } else { echo '兩個網(wǎng)址不同'; } ?>
推薦學習:《PHP視頻教程》