php strcmp()字典排序
字典排序(lexicographical order)是一种对于随机变量形成序列的排序方法。其方法是,按照字母顺序,或者数字小大顺序,由小到大的形成序列。
比如,字典中a-z,是依次递增的,a,b,c....z,ab,ac....az,bc.....,
在比如,举个列子。。身边的一本书中。
第1章
1.1 字典排序
1.1.1什么叫字典排序
1.1.1.1 字典排序的用法
1.2 用处。。
1.3 .。。
第2章
2.1 .。。
2.1.1
2.2.。。
总是像这样排序的,我理解了字典排序,和这个差不多。。。
那么strcmp()是如何排序的呢,
<?php
//字母 a k
$str1 = 'a';
$str2 = 'k';
$res = strcmp($str1,$str2);
echo $res;
echo "<br />";
//输出-1
$res = strcmp($str2,$str1);
echo $res;
echo "<br />";
//输出 1 //数字: 1 ,2 ,10, 12
$arr = array(10,1,2,19999999);
usort($arr,"strcmp");
print_r($arr);
echo "<br />";
//Array ( [0] => 1 [1] => 10 [2] => 19999999 [3] => 2 ) //字符串
$str_arr = array('1','1.1','1.1.1','1.1.1.1','2','2.1','2.1.1','2.2');
usort($str_arr,"strcmp");
print_r($str_arr);
echo "<br />";
//Array ( [0] => 1 [1] => 1.1 [2] => 1.1.1 [3] => 1.1.1.1 [4] => 2 [5] => 2.1 [6] => 2.1.1 [7] => 2.2 ) //中文是怎么排序的呢,仔细想想,在新华字典中的排序,是按照拼音的,
//比如,a ai an ang ao
//ba bai ban bang //那么我们就比较这些值吧,看一下
$str_cn = array('吧','啊','白','奥','昂','爱','安','般','帮');
usort($str_cn,"strcmp");
print_r($str_cn);
echo "<br />";
//Array ( [0] => 吧 [1] => 啊 [2] => 奥 [3] => 安 [4] => 帮 [5] => 昂 [6] => 爱 [7] => 白 [8] => 般 )
//中文 怎么是这样呢,找了好久没找到,一起学过java,那么用java试一下,
在java的String类中,有个compareTo()方法,也是字典排序,基于字符串中每个字符的Unicode。。
package example;
public class compareTo {
public static void main(String[] args) {
// 比较2个中文
String str1 = "中国";
String str2 = "中华";
int res = str1.compareTo(str2);
System.out.println(res);
System.out.println("------------");
// 获取unicode值
char[] ch1 = str1.toCharArray();
for (int i = 0; i < ch1.length; i++) {
System.out.println(ch1[i] + ": " + (int) ch1[i]);
}
System.out.println("------------");
char[] ch2 = str2.toCharArray();
for (int i = 0; i < ch2.length; i++) {
System.out.println(ch2[i] + ": " + (int) ch2[i]);
}
}
}
输出:
943
------------
中: 20013
国: 22269
------------
中: 20013
华: 21326
//应该就是这样了。。。。
php strcmp()字典排序的更多相关文章
- C# 字典排序Array.Sort
Array.Sort可以实现便捷的字典排序,但如果完全相信他,那么就容易产生些异常!太顺利了,往往是前面有坑等你. 比如:微信接口,好多地方需要签名认证,签名的时候需要用的字典排序,如果只用Array ...
- python 字典排序 关于sort()、reversed()、sorted()
一.Python的排序 1.reversed() 这个很好理解,reversed英文意思就是:adj. 颠倒的:相反的:(判决等)撤销的 print list(reversed(['dream','a ...
- <转>python字典排序 关于sort()、reversed()、sorted()
一.Python的排序 1.reversed() 这个很好理解,reversed英文意思就是:adj. 颠倒的:相反的:(判决等)撤销的 print list(reversed(['dream','a ...
- java的字典排序
按照教程上的代码还是报错 应该是字典排序的问题,不能是Arrays.sort()
- 深入Python(1): 字典排序 关于sort()、reversed()、sorted()
http://www.cnblogs.com/BeginMan/p/3193081.html 一.Python的排序 1.reversed() 这个很好理解,reversed英文意思就是:adj. 颠 ...
- 签名:实现参数字典排序,然后拼接为url参数形式
在很多地方请求参数需要做处理例如: 步骤 1.参数字典排序. 2.拼接字符. /// <summary> /// 生成签名 /// </summary> /// <par ...
- python中字典排序,列表中的字典排序
python中字典排序,列表中的字典排序 一.使用python模块:operator import operator #首先要导入模块operator x = {1:2, 3:4, 4:3, 2:1, ...
- day3--集合、文件操作、字符编码与转换、函数(递归,lambda,filter,map)、字典排序
list1 = set([1, 2, 3, 4, 5, 6, 5, 5, 5])list2 = set([11, 2, 36, 'a', 5, 6, 5, 5, 5])list3 = set([1, ...
- 字典排序permutation
理论 C++ 中的next_permutation 一般作为正序全排列的使用规则,其实这个就是正序字典排序的实现. 比如我们要对 列表 [1,2,3] 做full permutation 一般使用递 ...
随机推荐
- js中formData的使用
FormData 对象的使用 https://developer.mozilla.org/zh-CN/docs/Web/API/FormData/Using_FormData_Objects http ...
- 【JavaScript】一个同步于本地时间的动态时间
这样例很easy.了解JavaScript之后就是几行的代码便可以完毕的事情. 可是对于一些未接触过JavaScript的人来说,差点儿非常大project的样子.然后在网上苦苦寻觅代码,之后在茫茫的 ...
- PCIe to AXI Translation——PCIe 内存空间到AXI内存空间的转换
PCIe to AXI Translation——PCIe 内存空间到AXI内存空间的转换 UltraScale系列芯片包含PCIe的Gen3 Integrated Block IP核在内的多种不同功 ...
- C/C++ 错误笔记-解决swap函数与标准库的std::swap函数冲突的问题
下午写了一份代码: #include <iostream> using namespace std; // 模板1:交换基本类型的值 template<typename T> ...
- ToStringBuilder学习(一):常用方法介绍
一.简介与引入 1.ToStringBuilder.HashCodeBuilder.EqualsBuilder.ToStringStyle.ReflectionToStringBuilder.C ...
- iptables详细教程:基础、架构、清空规则、追加规则、应用实例(转)
iptables防火墙可以用于创建过滤(filter)与NAT规则.所有Linux发行版都能使用iptables,因此理解如何配置iptables将会帮助你更有效地管理Linux防火墙.如果你是第一次 ...
- centos6.x 抓取ssh登录的用户名和密码
systemtap是一款非常强大内核调试工具,可以debug很多关于kernel层的问题.Linux是通过PAM模块检测用户信息和认证信息的,从而确定一个用户是否可以登录系统,利用这个知识点,使用sy ...
- H3C-WA2210升级
前几天升级了2210固件,做个记录 首先吐槽一点:华为官方给出的公共下载账号yx800根本没用..下不了官方提供的固件资料 组网准备: 升级之前要先看看原机版本(dis ver): 在升级版本之前,请 ...
- jsp tag 直接文件实现
引入 <%@ taglib prefix="sys" tagdir="/WEB-INF/tags/sys" %> 这里注意/WEB-INF/tags ...
- SonarQube 7.x 的安装使用 + 集成Maven 使用
SonarQube是管理代码质量一个开放平台,可以快速的定位代码中潜在的或者明显的错误,下面将会介绍一下这个工具的安装.配置以及使用. 下载地址:http://www.sonarqube.org/do ...