• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

phpstrcmp()字典排序

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

字典排序(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

//应该就是这样了。。。。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
each与list的用法(PHP学习)发布时间:2022-07-10
下一篇:
php二维数组转换成树状数组(转)发布时间:2022-07-10
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap