龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > web编程 > php编程 >

php 对二维数组指定项排序

时间:2014-07-22 15:55来源:网络整理 作者:网络 点击:
分享到:
对二维数组指定项排序 [代码片段(30行)]
<?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);
?>
//该片段来自于http://outofmemory.cn
精彩图集

赞助商链接