In PHP, you can use two equal signs or three equal signs to compare two variables for equality. What is the difference between these two methods?
When using two equal signs, as long as the values of the two variables being compared are the same, true will be output, otherwise false will be output. .
When using three equal signs, in addition to the same values of the two variables, the two variables must also be of the same type to output true, otherwise false will be output.
Let’s take a look at the following program: (Recommended learning:PHP programming from entry to proficiency)
$str = “abc”; if (0==$str) {echo “真”} else {echo “假”}
The result of this program is unexpected, "abc "It was actually considered equal to 0 by PHP. Why is there such a situation?
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.
$str = “abc”; if (0===$str) {echo “真”} else {echo “假”}
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 Check whether the values on the two sides of the equal operator are equal. If they are not equal, return false
3. Finally, perform the AND operation on the above 2 steps and return the result of the AND operation.
The above is the detailed content of The difference between three equal signs and two equal signs in php. For more information, please follow other related articles on the PHP Chinese website!