一、一维数组排序
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