Home > Article > Backend Development > What is the difference between php === and ==
php The difference between === and ==: 1. In PHP, === represents the congruence operator, and == represents the equal operator; 2. If the values on both sides of the equal operator are equal, then Returns true, or false if the values on both sides of the equality operator are equal but of different types.
The operating environment of this article: windows7 system, PHP7.1 version, DELL G3 computer
php === and == What's the difference?
Usage and difference between == and === in php
When you encounter numerical matching problems during development, then when matching, you encounter the following situation, what do you think the outcome will be?
<?php $str = "0dff"; if (0 == $str) { echo "true"; }else{ echo "false"; } ?>
Unexpectedly, the output result of the above program is true, which means that during compilation, the program defaults to 0 and 0dff being equal. This is because when performing the relational operation "==", the data types on both sides of the operator must be consistent, so the string on the right side of the equal sign is forced to be converted to integer type 0.
This is also a shortcoming of a series of weakly typed languages. "===" is provided in php to solve this problem.
<?php $str = "0dff"; if (0 === $str) { echo "true"; }else{ echo "false"; } ?>
The output of this program is false.
The operation process of all equals is as follows:
1. Determine whether the data types of the two sides of the equals operator are the same. If they are not the same, return false
2. Judge all equals Check whether the values of the two sides of the operator are equal. If they are not equal, return false
3. Finally, perform the AND operation of the above two steps. Returns the result of the AND operation.
Attachment:
Recommended study: "PHP Video Tutorial"
The above is the detailed content of What is the difference between php === and ==. For more information, please follow other related articles on the PHP Chinese website!