Why is === faster than == in PHP ?
Last Updated :
25 Aug, 2021
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.
Symbol |
Name |
Example |
Output |
== |
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 ==.
Example 1:
php
<?php
var_dump(0 == "a" );
var_dump( "1" == "01" );
var_dump( "10" == "1e1" );
var_dump(100 == "1e2" );
var_dump(0 === "a" );
var_dump( "1" === "01" );
var_dump( "10" === "1e1" );
var_dump(100 === "1e2" );
switch ( "a" ) {
case 0:
echo "In first case" ;
break ;
case "a" :
echo "In second case" ;
break ;
}
?>
|
Output:
bool(true)
bool(true)
bool(true)
bool(true)
bool(false)
bool(false)
bool(false)
bool(false)
In first case
Example 2:
php
<?php
var_dump(1 == TRUE);
var_dump(0 == FALSE);
var_dump(1 === TRUE);
var_dump(0 === FALSE);
?>
|
Output:
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.
Like Article
Suggest improvement
Share your thoughts in the comments
Please Login to comment...