有小伙伴面试的时候私信问我字符串类型的小数、百分比数大小怎么比较,都是些很基础的东西,网上其实能够搜到,但是很多小伙伴还是缺少动手能力以及做笔记的习惯。
代码示例
$a = "1.17%";
$b = "4%";
var_dump($a>$b);//因为1比4小,所以返回false
$a = "99%";
$b = "100%";
var_dump($a>$b);//因为9比1大,所以返回true
$a = "1";
$b = "2";
var_dump($a>$b);//返回false
$a = "99";
$b = "2";
var_dump($a>$b);//返回true
总结
PHP字符串比较规则为:
1、从左边第一位开始作比较,如果第一位比较大,则该字符串大,以此类推,百分比字符串会被当作字符串处理
2、当遇到形似数字的字符串,PHP会将此类字符串转为数字,然后做比较,小数也一样,百分比字符串除外