Home  >  Article  >  Backend Development  >  求解PHP字符串比较的问题?

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

WBOY
WBOYOriginal
2016-06-23 14:05:07754browse

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

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn