Home >Backend Development >PHP Tutorial >Analysis of the difference between === and == in php_PHP tutorial
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
=== 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
|
Copy code | ||||