1. 程式人生 > >PHP三個等號與兩個等號的區別

PHP三個等號與兩個等號的區別

在PHP中兩個變數間比較相等可以使用兩個等號或者三個等號,這兩種方式有什麼區別呢?
用兩個等號時,只要比較的兩個變數的值相同,輸出true,否則輸出false。
用三個等號時,除了兩個變數的值相同外,還必須這兩個變數的型別相同,才能輸出true,否則輸出false。
例如:
$v1 = "1";
$v2 = 1;
if ($v1==$v2){
 echo ("true<br/>");
} else{
 echo("false<br />");
};
if ($v1===$v2){
 echo ("true<br/>");
} else{
 echo("false<br />");
};
程式執行結果如下:
true
false
程式解讀:
在遇到第一個if語句(兩個等號)時,PHP會把$v1從字串型別轉換成數值型,然後與$v2比較,兩值相同,返回true,因此,執行語句:echo("true<br />");。
在遇到第二個if語句(三個等號)時,雖然通過型別轉換後兩值相同,但是由於$v1的值和$v2的值的型別不同,前者是字串,後者是整數,所以返回false,因此,執行語句:echo("false<br />");。