PHP编程实现多维数组按照某个键值排序的方法

1. array_multisort()函数对多个数组或多维数组进行排序。
//对数组$hotcat按照count键值大小降序进行排序;
$hotcat = array (
  array ( '1501' => array ( 'catid' => '1546' , 'catname' => '数组排序 一级' , 'count' => '588' )),
  array ( '1501' => array ( 'catid' => '1546' , 'catname' => '数组排序二级' , 'count' => '588' )),
  array ( '1501' => array ( 'catid' => '1546' , 'catname' => '数组排序 三级' , 'count' => '588' ))
);
//提取列数组;
foreach ( $hotcat as $key => $val ) {
  $tmp [ $key ] = $row [ 'username' ];
}
array_multisort ( $tmp ,SORT_DESC, $hotcat );此处对数组进行降序排列;SORT_DESC按降序排列
 
2.自定义方法 array_sort()进行排序
//指定数组以$keys键值排序
function array_sort( $array , $keys , $type = 'asc' ){
//$array为要排序的数组,$keys为要用来排序的键名,$type默认为升序排序
$keysvalue = $new_array = array ();
foreach ( $array as $k => $v ){
$keysvalue [ $k ] = $v [ $keys ];
}
if ( $type == 'asc' ){
asort( $keysvalue );
} else {
arsort( $keysvalue );
}
reset( $keysvalue );
foreach ( $keysvalue as $k => $v ){
$new_array [ $k ] = $array [ $k ];
}
return $new_array ;
}
 
转自:https://www.jb51.net/article/112285.htm(感谢分享)

猜你喜欢

转载自www.cnblogs.com/luqiang213917/p/9367560.html