Why is === faster than == in PHP ?
The Comparison Operator == (Equality operator) and === (Identity Operator) are used to compare two values. They are also known as the loosely equal (==) operator and the strict identical (===) operator.
|==||Equality||$a == $b||TRUE if $a is equal to $b after type juggling|
|===||Identity||$a === $b||TRUE if $a is equal to $b, and both are of the same type|
PHP Operators: There are lots of operators in PHP but == and === operator performs similar kind of task strictly or casually.
- If operands are of different type then == and === will produce different results.The speed of the operators will be different in this case as == will perform type conversion and then do the comparison.
- If operands are of same type then both == and === will produce same results. The speed of both operators is almost identical in this case as no type conversion is performed by any of the operators.
Equality operator == converts the data type temporarily to see if its value is equal to the other operand, whereas === (the identity operator) doesn’t need to do any type casting and thus less work is done, which makes it faster than ==.
bool(true) bool(true) bool(true) bool(true) bool(false) bool(false) bool(false) bool(false) In first case
bool(true) bool(true) bool(false) bool(false)
Note: The === operator performs a ‘typesafe comparison’, it will only return true only if both operands have the same type and value whereas if only value is to be compared == is used.