PHP中是可以直接比较字符串的大小的,这里说的大小并不是长度是ASCII值的大小……
PHP中可以直接比较两个字符串的大小,这里说的大小是ASCII值,并不是字符串长度,比较两个字符串大小时会从左到右一 一比较ASCII值,只要对比到对应的位数ASCII值大于小于时停止往下比较(这里停止比较是猜测,通过实例获得的,也可以理解为只要匹配到了,后边的字符串不管是啥都不相关,不受影响)。
常见ASCII码的大小规则:0~9<A~Z<a~z。
1)数字比字母要小。如 “5”<“E”;
2)数字0比数字9要小,并按0到9顺序递增。如 “3”<“7” ;
3)字母A比字母Z要小,并按A到Z顺序递增。如“A”<“Z” ;
4)同个字母的大写字母比小写字母要小32。如“A”<“a” ;
几个常见的ASCII码大小: “0”为48 ;“A”为65 ;“a”为97 ;
根据ASCII值的规则来对比字符串大小的示例如下:
<?php
$a = '7-6-5-4';
$b = '7-7-5-4';
if($a < $b){
echo 'Y';
}else{
echo 'N';
}
// 输出 Y
echo '<br>';//////////////////////////////////////
$a = '7-6-5-4';
$b = '7-6-a-4';
if($a < $b){
echo 'Y';
}else{
echo 'N';
}
// 输出 Y
echo '<br>';//////////////////////////////////////
$a = '7-9-5-9';
$b = '7-a-5-4';
if($a < $b){
echo 'Y';
}else{
echo 'N';
}
// 输出 Y
echo '<br>';//////////////////////////////////////;
$a = '7-6-5-4-a-2-9-9-9-9-9-9-9-9-9-a';
$b = '7-6-5-5-a';
if($a < $b){
echo 'Y';
}else{
echo 'N';
}
// 输出 Y
echo '<br>';//////////////////////////////////////
//
// 假如今天是2020年4月1号,php获得当前时间为 date('Y-m-d') 输出的是:2020-04-01
$nowDate = date('Y-m-d'); // 输出2020-04-01
if(date('Y-m-d H:i') < '2020-05-01'){
echo 'Y';
}else{
echo 'N';
}
// 输出 Y
?>
由此可以得出PHP中可以直接比较两个字符串的大小的。