对二维数组指定项排序
p /p
<?php
/*
$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);
?>
精彩图集
精彩文章






