萬盛學電腦網

 萬盛學電腦網 >> 網絡編程 >> php編程 >> php中===和==的區別分析

php中===和==的區別分析

恆等計算符,和比較運算符號“==”的區別是 “==”不會檢查條件式的表達式的類型,恆等計算符會同時檢查表達式的值與類型。

這主要和php是無類型語言有關,比如 NULL,FALSE,array(),”",0,”0″這幾個值如果用==他們是相等的,但是你如果判斷出某個值真正的返回值呢,就可以用 ===
$a = 0;
$b = FALSE;
$a === FALSE 不成立,但 $b === FALSE成立,如果是==, $a == FALSE 和 $b == FALSE都成立

===運算符還是很有用的,php有些內置函數成功會返回某個值,失敗會返回false,假如成功了但返回的是”"或者0之類的空值你怎麼判斷成功或者失敗呢?這是就可以用 === ,它可以區分變量類型。

參考:

比較運算符

例子 名稱 結果 $a == $b 等於 TRUE,如果 $a 等於 $b。 $a === $b 全等 TRUE,如果 $a 等於 $b,並且它們的類型也相同。(PHP 4 引進) $a != $b 不等 TRUE,如果 $a 不等於 $b。 $a <> $b 不等 TRUE,如果 $a 不等於 $b。 $a !== $b 非全等 TRUE,如果 $a 不等於 $b,或者它們的類型不同。(PHP 4 引進) $a < $b 小與 TRUE,如果 $a 嚴格小於 $b。 $a > $b 大於 TRUE,如果 $a 嚴格 $b。 $a <= $b 小於等於 TRUE,如果 $a 小於或者等於 $b。 $a >= $b 大於等於 TRUE,如果 $a 大於或者等於 $b。

如果比較一個整數和字符串,則字符串會被轉換為整數。如果比較兩個數字字符串,則作為整數比較。此規則也適用於 switch語句。

 代碼如下 復制代碼

<?php

var_dump(0 == "a"); // 0 == 0 -> true

var_dump("1" == "01"); // 1 == 1 -> true

var_dump("1" == "1e0"); // 1 == 1 -> true

switch ("a") {

case 0:

    echo "0";

    break;

case "a": // never reached because "a" is already matched with 0

    echo "a";

    break;

}

?>

copyright © 萬盛學電腦網 all rights reserved