精华内容
下载资源
问答
  • javascript的数组排序函数 sort方法,默认是按照ASCII 字符顺序进行升序排列。
  • 主要介绍了PHP实现的自定义数组排序函数与排序类,结合实例形式分析了php自定义二维数组排序函数与排序类的相关实现技巧,需要的朋友可以参考下
  • 主要为大家详细介绍了php数组排序函数
  • PHP数组排序函数

    2018-07-30 21:26:37
    PHP数组排序函数

    array_multisort:对多个数组或多维数组进行排序,可以一次对多个数组进行排序,或者根据一维或多维对多维数组进行排序。排序后字符串键名保持不变,数字键名会被重新索引。第一个参数为要排序的数组,第二参数为排序顺序标识,默认为SORT_ASC,第三个参数为排序类型标识,默认为SORT_REGULAR。最后为可选的多个数组,这些数组需要与第一个参数中的数组具有相同数量的元素。成功返回true,否则返回false。

    asort:对数组进行排序并保持索引关系,接受两个参数,第一个为要进行排序的数组,第二个为可选的排序类型标识,默认为SORT_REGULAR。成功返回true,否则返回false。该函数区分大小写。

    arsort:与asort唯一区别的是逆向排序。

    sort:与asort的唯一区别是不保持索引关系。

    rsort:与sort的唯一区别是逆向排序。

    natsort:用自然排序算法对数组进行排序并保持索引关系,只接受一个要进行排序的数组。成功返回true,否则返回false。等价于asort($ar1,SORT_NATURAL)。

    natcasesort:与natsort的唯一区别是不区分大小写。

    usort:使用用户自定义的比较函数对数组中的值进行排序不保持索引关系,接受两个参数,第一个为要排序的数组,第二个为比较函数。比较函数要在其第一个参数大于、等于或小于第二参数时返回一个大于、等于或小于0的整数。功返回true,否则返回false。

    uasort:与usort的唯一区别是保持索引关系。

    shuffle:随机打乱数组,不保持索引关系。

    ksort:对数组按照键名排序,并保持索引关系,接受两个参数,第一个为要进行排序的数组,第二个为可选的排序类型标识,默认为SORT_REGULAR。成功返回true,否则返回false。该函数区分大小写。

    krsort:与ksort的唯一区别是逆向排序。

    uksort:使用用户自定义的比较函数对数组中的键名进行排序并保持索引关系,接受两个参数,第一个为要排序的数组,第二个为比较函数。比较函数要在其第一个参数大于、等于或小于第二参数时返回一个大于、等于或小于0的整数。功返回true,否则返回false。

    array_​reverse:返回单元顺序相反的数组,接受两个参数,第一个为要反序的数组,第二个为可选的标记,表示是否保留数字类型的键。

    <?php
    $ar1 = array(10, 100, 100, 0,100);
    $ar2 = array(1, 3, 5, 4,2);
    array_multisort($ar1, $ar2);
    var_dump($ar1);
    var_dump($ar2);
    $ar = array(
          array("10", 11, 100, 100, "a"),
          array("10", 2, "2",   3,   1)
          );
    array_multisort($ar[0], SORT_STRING,
                    $ar[1], SORT_NUMERIC,SORT_DESC);
    var_dump($ar);
    array_multisort($ar,SORT_DESC);
    var_dump($ar);
    $ar1 = array(10, 100, 100, 0,100);
    asort($ar1);
    var_dump($ar1);
    arsort($ar1);
    var_dump($ar1);
    
    $ar1=array("A1","a2","a1a","a09","a20","a10");
    natsort($ar1);
    var_dump($ar1);
    $ar1=array("A1","a2","a1a","a09","a20","a10");
    asort($ar1,SORT_NATURAL);
    var_dump($ar1);
    $ar1=array("A1","a2","a1a","a09","a20","a10");
    sort($ar1);
    var_dump($ar1);
    function cmp($a, $b)
    {
        if ($a == $b) {
            return 0;
        }
        return ($a < $b) ? -1 : 1;
    }
    usort($ar2,cmp);
    var_dump($ar2);
    shuffle($ar1);
    var_dump($ar1);
    shuffle($ar1);
    var_dump($ar1);
    $ar1=array("A1"=>"1","a2"=>"2","a1a"=>"3","a09"=>"4","a20"=>"5","a10"=>"6");
    ksort($ar1);
    var_dump($ar1);
    $ar2 = array(1=>"a", 3=>"c", 5=>"e", 4=>"d",2=>"b");
    uksort($ar2,cmp);
    var_dump($ar2);
    var_dump(array_reverse($ar1,true));
    ?>
    

    数组排序函数对照表

    展开全文
  • 本文大家简单探讨下Js数组排序函数sort()的用法和示例,有需要的小伙伴可以参考下。
  • 主要介绍了PHP实现指定字段的多维数组排序函数分享,本文分享了一段PHP指定字段的多维数组排序方法的代码,这段代码可实现根据field字段对数组进行排序,需要的朋友可以参考下
  • 本篇文章是对PHP数组排序函数合集以及它们之间的联系进行了详细的分析介绍,需要的朋友参考下
  • 主要介绍了php自定义二维数组排序函数array_orderby用法,结合实例形式分析了php针对二维数组进行排序的相关遍历、判定、排序等操作技巧,需要的朋友可以参考下
  • 本文大家分享一个用于数组或者对象的排序函数。该函数可以以任意深度的数组或者对象的值作为排序基数对数组或的元素进行排序
  • 数组排序函数

    千次阅读 2018-07-07 10:06:15
    sort() 函数用于对数组单元从低到高进行排序。  rsort() 函数用于对数组单元从高到低进行排序。  asort() 函数用于对数组单元从低到高进行排序并保持索引关系。  arsort() 函数用于对数组单元从高到低进行排序...

    sort() 函数用于对数组单元从低到高进行排序。
      rsort() 函数用于对数组单元从高到低进行排序。
      asort() 函数用于对数组单元从低到高进行排序并保持索引关系。
      arsort() 函数用于对数组单元从高到低进行排序并保持索引关系。
      ksort() 函数用于对数组单元按照键名从低到高进行排序。
      krsort() 函数用于对数组单元按照键名从高到低进行排序。

    展开全文
  • java数组排序函数

    千次阅读 2020-06-08 16:20:14
    排序算法,基本的高级语言都有一些提供。C语言有qsort()函数,C++有sort()函数,java语言有Arrays类(不是Array)。...Java API对Arrays类的说明是:此类包含用来操作数组(比如排序和搜索)的各种方法。

    1.对基本数据类型的数组的排序

    (1)Arrays类中的sort()使用的是“经过调优的快速排序法”;

    (2)比如int[],double[],char[]等基数据类型的数组,Arrays类之只是提供了默认的升序排列,没有提供相应的降序排列方法。

    (3)要对基础类型的数组进行降序排序,需要将这些数组转化为对应的封装类数组,如Integer[],Double[],Character[]等,对这些类数组进行排序。(其实还不如先进行升序排序,自己在转为降序)。

    用默认的升序对数组排序

    函数原型

    • static void sort(int[] a) 对指定的 int 型数组按数字升序进行排序。
    • static void sort(int[] a, int fromIndex, int toIndex) 对指定 int 型数组的指定范围按数字升序进行排序。

    代码实例

    import java.util.Arrays;
    public class ArraysSort_11 {
        public static void main(String args[])
        {
            int[] a={1,4,-1,5,0};
            Arrays.sort(a);
            //数组a[]的内容变为{-1,0,1,4,5}
            for(int i=0;i<a.length;i++)
                System.out.print(a[i]+"  ");
        }
    }
    

    2.对复合数据类型的数据的排序

    函数原型:
    (1)public static void sort(T[] a,Comparator c) 根据指定比较器产生的顺序对指定对象数组进行排序。

    (2)public static void sort(T[] a,int fromIndex,int toIndex,Comparator c) 根据指定比较器产生的顺序对指定对象数组的指定范围进行排序。

    说明:这个两个排序算法是“经过调优的合并排序”算法。
    代码实例

    package com.shuzu;
    
    import java.util.Arrays;
    import java.util.Comparator;
    
    public class fuhepaixu {
    	Point[] arr;
    	fuhepaixu(){
    		arr =new Point[4];
    		for(int i=0;i<4;i++) {
    			arr[i]=new Point();
    		}
    	}
    	public static void main(String args[]) {
    		fuhepaixu f =new fuhepaixu();
    		f.arr[0].x=1;
    		f.arr[1].x=2;
    		f.arr[2].x=0;
    		f.arr[3].x=4;
    		f.arr[0].y=2;	
    		f.arr[1].y=3;
    		f.arr[2].y=1;
    		f.arr[3].y=0;
    		Arrays.sort(f.arr,new myComparator());
    		for(int j=0;j<4;j++) {
    			System.out.println("("+f.arr[j].x+","+f.arr[j].y+")");
    		}
    	}
    
    }
    
    class Point{
    	int x;
    	int y;
    }
    
    class myComparator implements Comparator{
    	public int compare(Object arg0,Object arg1) {
    		Point t1 =(Point)arg0;
    		Point t2 =(Point)arg1;
    		if(t1.x!=t2.x) {
    			return t1.x>t2.x?1:-1;
    		}
    		else {
    			return t1.y>t2.y?1:-1;
    		}
    	}
    }
    

    Comparator是一个专用的比较器,当这个对象不支持自比较或者自比较函数不能满足要求时,可写一个比较器来完成两个对象之间大小的比较。Comparator体现了一种策略模式(strategy design pattern),就是不改变对象自身,而用一个策略对象(strategy object)来改变它的行为。

    PS:关于?:公式
    a>b?A:B
    意思是如果a>b则这个式子的值为A;
    否则值为B

    展开全文
  • php二维数组排序函数

    2016-11-24 10:09:10
    写一个二维数组排序算法函数,能够具有通用性,可以调用php内置函数 二维数组排序, $arr是数据,$keys是排序的健值,$order是排序规则,1是升序,0是降序 $k是指第二维数组的键名对应的键值来排列一维数组的位置; *...
    echo "<br/>-------------二维数组排序-----------------<br/>";
    /*
    写一个二维数组排序算法函数,能够具有通用性,可以调用php内置函数
    二维数组排序, $arr是数据,$keys是排序的健值,$order是排序规则,1是升序,0是降序
    $k是指第二维数组的键名对应的键值来排列一维数组的位置;
    */
    function array_sort($arr, $keys, $order=0) {
        if (!is_array($arr)) {
            return false;
        }
        $keysvalue = array();
        foreach($arr as $key => $val) {
            $keysvalue[$key] = $val[$keys];
        }
        if($order == 0){
            asort($keysvalue);
        }else{
            arsort($keysvalue);
        }
        reset($keysvalue);//设定数组的内部指标到它的第一个元素
        foreach($keysvalue as $key => $vals) {
            $keysort[$key] = $key;
        }
        $new_array = array();
        foreach($keysort as $key => $val) {
            $new_array[$key] = $arr[$val];
        }
        return $new_array;
    }
    $arr=array(
        array(4,3,5),
        array(6,8,7),
        array(1,2,9)
        );
    //var_dump(asort($arr));//二维数组不可用sort处理;
    var_dump(array_sort($arr,1,0));
    /*这里k为1,就是用  3 8 2 来决定里面三个数组的位置先后;
    这个函数处理就到这里,array(4,3,5)并不处理排列;*/
    
    
    
    
    
    
    $brr=array(
        array(5,3,6),
        array(9,8,7),
        array(1,2,4),
        );
    array_multisort($brr);
    var_dump($brr);


    
    
    展开全文
  • 16 PHP 数组排序函数

    2014-07-12 12:42:20
    echo "数组排序函数"; /* •sort() - 以升序对数组排序 •rsort() - 以降序对数组排序 •asort() - 根据值,以升序对关联数组进行排序 •ksort() - 根据键,以升序对关联数组进行排序 •arsort() - 根据值...
  • php 内置数组排序函数

    2013-12-04 14:30:37
    sort() 函数按升序对定数组的值排序...主要用于对那些单元顺序很重要的结合数组进行排序ksort() 函数按照键名对数组排序,为数组值保留原来的键egg: $my_array = array("a" => "Dog", "b" => "Cat", "c" => "Horse")
  • PHP二维数组排序函数

    2014-06-09 13:05:54
    PHP一维数组排序可以用sort(),asort(),arsort()等函数,但是PHP二维数组排序需要自定义。 以下函数是对一个给定的二维数组按照指定的键值进行排序,先看函数定义:
  • PHP数组排序函数合集

    千次阅读 2012-10-29 15:30:46
    1 数组被作为排序函数的参数,排序以后,数组本身就发生了改变,函数的返回值为bool类型。 2 函数名中出现单a表示association,含义为,在按值排序的过程中,保持key=>value的对应关系不变 3 函数名中出现单k表示...
  • 修改了thinkphp的数组排序函数

    千次阅读 2013-05-07 19:44:58
    thinkphp里有一个数组排序函数,我对它作出了一些修改,可以支持二维数组排序,三维数组排序等多维数组排序。 查看源代码 打印帮助 1 /** 2 +------------------------...
  • Java中数组排序函数

    千次阅读 2013-11-11 14:41:08
    import java.util.Arrays; static int [] a = new int [15]; Arrays.sort(a, 0, n); //数组排序算法
  • array_multisort()这个函数可以对多个PHP数组进行排序排序结果是所有的数组都按第一个数组的顺序进行排列——有点拗口,真的,并且我要只是这样说你一定也不明白。先举个例子: 例如array_multisort($a,$b),$a,$...
  • 定义一个函数来完成对参数数组中元素的排序工作,函数声明如下: void sort(int array[ ]);//该函数完成对array数组排序工作 在以下程序的基础上,完成对sort函数的定义,提交时,只提交sort函数的定义即可。...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 430,660
精华内容 172,264
关键字:

给数组排序的函数