PHP: Zero equals to any string
In PHP any string is equals to
0, except when it starts with a number that's not zero.
// Equals $result = 0 == ''; $result = 0 == '0'; $result = 0 == 'string'; $result = 0 == '0string'; // Not Equals $result = 0 == '1string';
When there's an integer in one of the operands, PHP converts the other to an integer. If it starts with a number, all the subsequent numbers will be returned when casting the string value to an integer.
1string will result in
123string will result in
I spent sometime trying to figure out why my code wasn't working. This could be avoided by using the identical operator
===, or casting the integer value to string, rather the equal operator