• php 数组排序


    一、一维数组排序

        1.1、sort以升序对数组排序

    $arrSort=array(3,56,6,8,9,7,6);
    sort($arrSort);
    print_r($arrSort);

    输出:

       Array

    (
    [0] => 3
    [1] => 6
    [2] => 6
    [3] => 7
    [4] => 8
    [5] => 9
    [6] => 56
    )

        1.2、rsort以降序对数组排序

             

    $arrRSort=array(3,56,6,8,9,7,6);
    rsort($arrRSort);
    print_r($arrRSort);

    输出:

     Array
    (
    [0] => 56
    [1] => 9
    [2] => 8
    [3] => 7
    [4] => 6
    [5] => 6
    [6] => 3
    )


        1.3、asort根据值,以升序对关联数组进行排序

    $arrASort=[
       "name"=>"wangk",
        "blog"=>"rhythmk.cnblogs.com",
        "address"=>"hunan",
        "company"=>"abcdef"
    ];
    asort($arrASort);
    print_r($arrASort);

    输出:

    (
    [company] => abcdef
    [address] => hunan
    [blog] => rhythmk.cnblogs.com
    [name] => wangk
    )

        1.4、ksort根据键,以升序对关联数组进行排序

    $arrKSort=[
        "name"=>"wangk",
        "blog"=>"rhythmk.cnblogs.com",
        "address"=>"hunan",
        "company"=>"abcdef"
    ];
    ksort($arrKSort);
    print_r($arrKSort);

    输出:

    (
    [address] => hunan
    [blog] => rhythmk.cnblogs.com
    [company] => abcdef
    [name] => wangk
    )


        1.5、arsort根据值,以降序对关联数组进行排序

    $arrARSort=[
        "name"=>"wangk",
        "blog"=>"rhythmk.cnblogs.com",
        "address"=>"hunan",
        "company"=>"abcdef"
    ];
    arsort($arrARSort);
    print_r($arrARSort);

    输出:

    Array
    (
    [name] => wangk
    [blog] => rhythmk.cnblogs.com
    [address] => hunan
    [company] => abcdef
    )


        1.6、krsort根据键,以降序对关联数组进行排序

    $arrKRSort=[
        "name"=>"wangk",
        "blog"=>"rhythmk.cnblogs.com",
        "address"=>"hunan",
        "company"=>"abcdef"
    ];
    krsort($arrKRSort);
    print_r($arrKRSort);

    输出:

    Array
    (
    [name] => wangk
    [company] => abcdef
    [blog] => rhythmk.cnblogs.com
    [address] => hunan
    )

    二、多维数组自定义排序

        

    $arrUSort=[
        ["id"=>10,"title"=>"abcd"],
        ["id"=>11,"title"=>"dvbcd"],
        ["id"=>2,"title"=>"cddgbcd"],
        ["id"=>5,"title"=>"ea"],
        ["id"=>8,"title"=>"aceg"]
    ];
     function UserDefinedSort($a,$b)
    {
        if($a["title"]>$b["title"])
        {
            return  1;
        }else{
            return  0;
        }
    
    }
    usort($arrUSort,'UserDefinedSort');
    print_r($arrUSort);

    输出:

     Array
    (
    [0] => Array
    (
    [id] => 10
    [title] => abcd
    )

    [1] => Array
    (
    [id] => 8
    [title] => aceg
    )

    [2] => Array
    (
    [id] => 2
    [title] => cddgbcd
    )

    [3] => Array
    (
    [id] => 11
    [title] => dvbcd
    )

    [4] => Array
    (
    [id] => 5
    [title] => ea
    )

    )

    参考:

    http://www.w3school.com.cn/php/php_arrays_sort.asp

  • 相关阅读:
    Java运算符
    Java数据类型,常量与变量
    内存
    cmd编码
    DELL G7重置电脑操作步骤
    关于es6中...运算符的总结
    js数组与字符串相互转换
    JS中的continue,break,return的区别
    git提交步骤
    数据修改后点击确定没有保存 还是原来的数据
  • 原文地址:https://www.cnblogs.com/rhythmK/p/4666732.html
Copyright © 2020-2023  润新知