Two of the many comparison operators used by PHP are ‘==’ (i.e. equal) and ‘===’ (i.e. identical). The difference between the two is that ‘==’ should be used to check if the values of the two operands are equal or not. On the other hand, ‘===’ checks the values as well as the type of operands.
Let me explain more using some examples:
‘==’ (Equal):
if("10" == 10) echo "YES";
else echo "NO";</strong>
The code above will print “YES”. The reason is that the values of the operands are equal. Whereas when we run the example code below:
‘===’ (Identical):
if("10" === 10) echo "YES";
else echo "NO";
The result we get is “NO”. The reason is that although values of both operands are same their types are different, “22” (with quotes) is a string while 22 (w/o quotes) is an integer. But if we change the code above to the following:
if("22" === (string)22) echo "YES";
else echo "NO";
Then, the result will be “YES”. Notice that we changed the type of right operand to a string which is the same as the left operand (i.e. string). Now, the types and values of both left and right operands are the same hence both operands are identical.