在 PHP 8 中,空字符串小于任何数字,英文字母始终大于任何数字。
更有趣的是标点符号和非单词字符,有些大于数字,有些小于数字
$string = '`~!@#$%^&*()-_=+[]{};:\'"\\|,.<>/?';
$number = 999999999999;
$str_len = strlen($string);
$bigger = $smaller = $equal = [];
for ( $i = 0; $i < $str_len; ++$i ) {
if ( $string[$i] > $number ) {
$bigger[] = $string[$i];
} elseif ( $string[$i] < $number ) {
$smaller[] = $string[$i];
} else {
$equal[] = $string[$i];
}
}
var_dump( $bigger ); //['`', '~', '@', '^', '_', '=', '[', ']', '{', '}', ';', ':', '\', '|', '<', '>', '?']
var_dump( $smaller); //['!', '#', '$', '%', '&', '*', '(', ')', '-', '+', ''', '"', ',', '.', '/']
var_dump( $equal); //[]