首页  >  文章  >  后端开发  >  求解PHP字符串比较的问题?

求解PHP字符串比较的问题?

WBOY
WBOY原创
2016-06-23 14:05:07752浏览

字符串大小比较的规则是什么?
例如:"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,明白了,谢了

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn