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

原文地址:https://www.cnblogs.com/rhythmK/p/4666732.html