Only use ===
php -r 'var_dump( "A box of spanners" == 0 ); var_dump( "A box of spanners" == true ); var_dump( 0 == true );'
bool(true) bool(true) bool(false)
Only use ===
php -r 'var_dump( "A box of spanners" == 0 ); var_dump( "A box of spanners" == true ); var_dump( 0 == true );'
bool(true) bool(true) bool(false)
At least they don't cast boolean to int as well. That'd be confusing as hell.
Comparison statements cast string to int automatically if one of the other variable is an int.