Home >Backend Development >PHP Tutorial >Analysis of the difference between === and == in php_PHP tutorial

Analysis of the difference between === and == in php_PHP tutorial

WBOY
WBOYOriginal
2016-07-13 17:13:011190browse

The difference between the identity calculator and the comparison operator "==" is that "==" does not check the type of the expression of the conditional expression, while the identity calculator checks both the value and type of the expression.

This is mainly related to the fact that PHP is an untyped language, such as NULL, FALSE, array(), "", 0, "0". If you use ==, they are equal, but if you judge a certain As for the actual return value, you can use ===
$a = 0;
$b = FALSE;
$a === FALSE is not true, but $b === FALSE is true. If it is ==, both $a == FALSE and $b == FALSE are true

The

=== operator is still very useful. Some built-in functions in PHP will return a certain value if successful, and false if failed. If it succeeds but returns a null value such as "" or 0, how do you judge success or failure? What if it fails? You can use ===, which can distinguish variable types.

Reference:

Comparison operator

例子 名称 结果
$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。

If you compare an integer and a string, the string will be converted to an integer. If comparing two numeric strings, compare as integers. This rule also applies to switch statements.

The code is as follows
 代码如下 复制代码

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;

}

?>

Copy code
<🎜>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; } ?>

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/629243.htmlTechArticleThe difference between the identity calculator and the comparison operator "==" is that "==" does not check the condition The identity operator checks both the value and type of the expression. This is mainly related to ph...
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn