PHP 8.0 Comparison Change
Another new thing in PHP 8.0 will be slightly less madness in non strict value comparison.
Saner string to number comparisons
https://wiki.php.net/rfc/string_to_number_comparison
Here is the new table:
| == | true | false | 1 | 0 | -1 | '1' | '0' | '-1' | NULL | [] | 'php' | '' | 
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| true | TRUE | FALSE | TRUE | FALSE | TRUE | TRUE | FALSE | TRUE | FALSE | FALSE | TRUE | FALSE | 
| false | FALSE | TRUE | FALSE | TRUE | FALSE | FALSE | TRUE | FALSE | TRUE | TRUE | FALSE | TRUE | 
| 1 | TRUE | FALSE | TRUE | FALSE | FALSE | TRUE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | 
| 0 | FALSE | TRUE | FALSE | TRUE | FALSE | FALSE | TRUE | FALSE | TRUE | FALSE | FALSE | FALSE | 
| -1 | TRUE | FALSE | FALSE | FALSE | TRUE | FALSE | FALSE | TRUE | FALSE | FALSE | FALSE | FALSE | 
| '1' | TRUE | FALSE | TRUE | FALSE | FALSE | TRUE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | 
| '0' | FALSE | TRUE | FALSE | TRUE | FALSE | FALSE | TRUE | FALSE | FALSE | FALSE | FALSE | FALSE | 
| '-1' | TRUE | FALSE | FALSE | FALSE | TRUE | FALSE | FALSE | TRUE | FALSE | FALSE | FALSE | FALSE | 
| NULL | FALSE | TRUE | FALSE | TRUE | FALSE | FALSE | FALSE | FALSE | TRUE | TRUE | FALSE | TRUE | 
| [] | FALSE | TRUE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | TRUE | TRUE | FALSE | FALSE | 
| 'php' | TRUE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | TRUE | FALSE | 
| '' | FALSE | TRUE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | TRUE | FALSE | FALSE | TRUE | 
Red: false everywhere
 Green: true everywhere
 Blue: true in <= 7.4, false in >= 8.0
 Saner numeric strings
https://wiki.php.net/rfc/saner-numeric-strings
| == | 0 | 123 | '123' | ' 123' | '123 ' | ' 123 ' | '123abc' | 'abc123' | 
|---|---|---|---|---|---|---|---|---|
| 0 | TRUE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | 
| 123 | FALSE | TRUE | TRUE | TRUE | TRUE | TRUE | FALSE | FALSE | 
| '123' | FALSE | TRUE | TRUE | TRUE | TRUE | TRUE | FALSE | FALSE | 
| ' 123' | FALSE | TRUE | TRUE | TRUE | TRUE | TRUE | FALSE | FALSE | 
| '123 ' | FALSE | TRUE | TRUE | TRUE | TRUE | TRUE | FALSE | FALSE | 
| ' 123 ' | FALSE | TRUE | TRUE | TRUE | TRUE | TRUE | FALSE | FALSE | 
| '123abc' | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | TRUE | FALSE | 
| 'abc123' | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | FALSE | TRUE | 
Red: false everywhere
 Green: true everywhere
 Blue: true in <= 7.4, false in >= 8.0
 Gold: false in <= 7.4, true in >= 8.0
 
Comments
Comments powered by Disqus