1樓:匿名使用者
在php中,可以用==(雙等號)或者 ===(三等號)來比較字串。兩者的區別是雙等號不比較型別,三等號會比較型別,它不轉換型別;用雙等號進行比較時,如果等號左右兩邊有數字型別的值,剛會把另乙個值轉化為數字,然後進行比較。這樣的話,如果是純字串或者null時,會轉化為0進行比較。
同樣,大小於號也和等號一樣,比較時可能出現不正確的結果。
所以,比較字串可以用php的自帶函式strcmp和strcasecmp。其中strcasecmp是strcmp的變種,它會先把字串轉化為小寫再進行比較。 如下**:
var_dump(0 == 'test');
var_dump(0 == '');
var_dump(5 > 't');
var_dump(strcmp(5, 't'));
執行結果:
bool(true)
bool(true)
bool(true)
int(-1)
2樓:匿名使用者
$d是讀取其他網頁的資訊後擷取出來的字串這裡的擷取是什麼意思?post過來的還是用了擷取函式?
你反應的問題,我這麼多年的php經驗,沒遇到過看你的描述你也不像是新手,看看是不是哪兒粗心了
3樓:匿名使用者
有沒有其他空字元之類的
4樓:佛子門豐
樓上答案有誤,誤導了很多人。
恰好我今天也遇到,兩個值明明一樣,但是相比之下,if以後,結果就是false,怎麼都不行。
最後,我來到這裡,看到樓上的答案,去試了一下,結果返因為null仔細對比之下,除了乙個是字串,乙個是數值之外,並沒有任何異常。但是返回依然還是false。
最後使用strcmp進行判斷,發現兩個值相等結果為0.不相等時為其它值。於是引用了下面這個方法。才解決了問題。
if(strcmp($a== $b)==0)else
結果為false;雖然很奇怪,但是就是這樣。
if(strcmp($a== $b)==0)
結果為true.
我是這樣解決的,哪果有大神看到,知道這個原理到底是怎麼回事,歡迎來糾錯。
如何用php檢測兩個變數是否相同?
5樓:我是輝煌帝
$b = 1;
$c = 3;
if($b == $c)
else
6樓:匿名使用者
if(變數1==變數2)else
php語言中如何比較兩個字串完全相等?
7樓:匿名使用者
朋友搜到這個問題進了坑,特來說明一下如何判斷
if(strcmp($a,$b )==0) else
8樓:匿名使用者
== 判斷字串相等應該可以呀。
== 對於這個 0 和 ''是相等的,因為他們是false.
=== 這個是絕對的等於。 你試試、
9樓:匿名使用者
strcmp
字串比較。
語法bai: int strcmp(string str1, string str2);
返回值: 整數
du函式種類zhi: 資料處理
內容說明
本函式用來比dao較專二字串的大小。返回負數表示屬 str1 小於 str2;返回正數表示 str1 大於 str2;返回零表示二字串相同。
10樓:匿名使用者
= 是賦值
== 才是比較,不過要考慮到大小寫的情況
php正規表示式匹配字串的多個值然後逐一替換掉裡面的不全部替換成
彼德範 舉個例子給你看看是不是你想要的。有個字串 abcadeafg 把其中的三個字母a分別替換成x,y,z pattern array a a a replacement array x y z subject abcadeafg res preg replace pattern,replacem...
shell中如何比較兩字串是否相等
bin bash a abc b def if a b then echo a is same as b else echo a is different from b fi 小米飛貓 bin bash filename is diffs.shif 2 then echo usage diffs.s...
C語言中判斷兩個字串是否相同的方法
c語言提供了幾個標準庫函式,可以比較兩個字串是否相同。以下是用strcmp 函式比較字串的一個例子 include include void main void void main void 上例的列印輸出如下所示 str 1 is equal to str 2.str 1 is not equal...