Strings Are Bigger Than Integers¶
When comparings strings and integers with inequalities (<, =<, >, >=), strings used to be smaller than numbers and they are bigger than numbers in PHP 8.0. Unless, they can be converted to integer safely.
PHP code¶
<?php
var_dump('a' > -1);
var_dump('a' > 0);
var_dump('a' > 1);
var_dump('a' < -1);
var_dump('a' < 0);
var_dump('a' < 1);
?>
Before¶
bool(true)
bool(false)
bool(false)
bool(false)
bool(false)
bool(true)
After¶
bool(true)
bool(true)
bool(true)
bool(false)
bool(false)
bool(false)
PHP version change¶
This behavior changed in 8.0