对二维数组指定项排序
时间:2021-07-01 10:21:17
帮助过:36人阅读
- /*
- $array_name:传入的数组;
- $row_id:数组想排序的项;
- $order_type:排序的方式,ASC或者DESC;
- */
- function array_sort($array_name,$row_id,$order_type){
- $array_temp=array();
- foreach($array_name as $key=>$value){//循环一层;
- $array_temp[$key]=$value[$row_id];//新建一个一维的数组,索引值用二维数组的索引值;值为二维数组要比较的项目的值;
- }
- if($order_type==="ASC"){
- asort($array_temp);
- }else{
- arsort($array_temp);
- }
- $result_array=array();
- foreach($array_temp as $key=>$value){//对进行筛选过的数组遍历;
- $result_array[]=$array_name[$key];//新建一个结果数组,将原来传入的数组改变键值顺序后赋值给结果数组(原来数组不变);
- }
- return $result_array;
- }
- //以下是测试
- $arr=array(array('num'=>7,'value'=>4),
- array('num'=>3,'value'=>45),
- array('num'=>38,'value'=>27));
- $sortarr=array_sort($arr,'value','ASC');
- print_r($sortarr);
- ?>
|