求解PHP字符串比较的问题?
例如:"10","10a","a","abc" 他们之间 如何按 升序 降序排列?? 求规则!!
回复讨论(解决方案)
据我所知,他们之间的排列比较的规则是:首先首字母的ascll大小比较如果相同就比较第二个。
字符串大小是按照从首个字符的ASCII来依次排序的
据我所知,他们之间的排列比较的规则是:首先首字母的ascll大小比较如果相同就比较第二个。
"10","10a"这两个如何比较?
var_dump(strnatcmp("10","10a"));
int(-1)
表示 "10"
引用 1 楼 nowphp 的回复:据我所知,他们之间的排列比较的规则是:首先首字母的ascll大小比较如果相同就比较第二个。
"10","10a"这两个如何比较? 依次类推,如果第二个也相等那就第三个...第n个。
看来都是高手啊 学习了
引用 3 楼 u010044579 的回复:
引用 1 楼 nowphp 的回复:据我所知,他们之间的排列比较的规则是:首先首字母的ascll大小比较如果相同就比较第二个。
"10","10a"这两个如何比较?依次类推,如果第二个也相等那就第三个...第n个。
还是有点不明白,望详解:“10“ 的第三位没有 “10a”的第三位是a 这个如何比较?
没有 和 有 你说哪个大?
有什么不明白的
你明白ascII码么?
10不说应该明白么?
知道ascii码a在十进制中代表什么吗?代表97
ascii码0在十进制中代表48
1代表49
那么1
10是否可以看做 48 49
10a是否可以看做 48 49 97
那么前面2个相同了,后面第三个一个是97,一个是无,你说哪个大哪个小呢?
ascii码0在十进制中代表48
1代表49
那么1
10是否可以看做 48 49
10a是否可以看做 48 49 97
那么前面2个相同了,后面第三个一个是97,一个是无,你说哪个大哪个小呢?
OK,明白了,谢了