zoukankan      html  css  js  c++  java
  • PHP排序函数

      PHP中提供了很多排序方法:sort  rsort asort arsort krsort ksort uasort uksort usort natcasesort natsort  shuffle array_multisort。PHP官网文档做了很好的说明。这些数组排序函数功能差异体现在以下几个方面:排序后是否改变键值(函数名中有没有字母a)、按照key或value排序(函数命中有没有字母k)、升序或降序(函数名中有没有字母r)、是否为用户自定义(函数名中有没有字母u)。函数natcasesort、natsort、shuffle、array_multisort比较特殊。

      shuffle函数实现随机排序。array_multisort是一个功能强大的函数,可以对多个数组实现排序。natsort和natcasesort分别实现自然排序和区分大小写的自然排序,自php5.4版本开始,asort函数完全可以实现这两个函数的功能。

      结合一下这张图,便可一目了然:

      这里有点让人迷惑的是PHP的几种排序参数:

    • SORT_REGULAR
    • SORT_NUMERIC
    • SORT_STRING
    • SORT_LOCALE_STRING
    • SORT_NATURAL
    • SORT_FLAG_CASE

      SORT_NUMBER和SORT_STRING都是把值转化为对应的格式,然后再比较,SORT_NUMBER按值的大小来比较,SORT_STRING类型按照ascill值的大小挨个比较。这里容易让人产生疑惑的是SORT_REGULAR、SORT_NATTURAL、SORT_STRING三者的区别,SORT_REGULAR不进行类型转化,直接比较。比较的结果会按照类型分为几组,每组内的值会根据类型来选择相应的排序方法。SORT_NATTURAL与SORT_STRING类似,唯一的区别是,在遇到img2、img10、img20这种情况下,SORT_NATTURAL排序会更人性化,排序结果为:img2、img10、img20。而string不会考虑值里面的数字,排序结果为:img10、img2、img20。

      

  • 相关阅读:
    执行.class文件
    Ant能干什么,编译?打包!
    C的随想
    微服务
    2018年宝鸡市高考复课报告会材料
    用图像解不等式
    高频易错题目01
    2018年宝鸡市二检数学题目解答
    点差法
    和事件的概率求法
  • 原文地址:https://www.cnblogs.com/smilealgernon/p/3076118.html
Copyright © 2011-2022 走看看