今天遇到一个数组自定义排序问题,捣鼓捣鼓给解决了,贴出来分享哈 ~

<?php
//对二维数组自定义排序
function array_sort($arr,$keys,$type){
    $keysvalue=array();
    $i = 0;
    foreach($arr as $key=>$val) {
        $val[$keys] = str_replace("-","",$val[$keys]);
        $val[$keys] = str_replace(" ","",$val[$keys]);
        $val[$keys] = str_replace(":","",$val[$keys]);
        $keysvalue[] =$val[$keys];
    }
    asort($keysvalue); //key值排序
    reset($keysvalue); //指针重新指向数组第一个
    foreach($keysvalue as $key=>$vals) {
        $keysort[] = $key;
    }
    $new_array = array();
    if($type != "asc"){
        for($ii=count($keysort)-1; $ii>=0; $ii--) {
            $new_array[] = $arr[$keysort[$ii]];
        }
    }else{
        for($ii=0; $ii<count($keysort); $ii++){
        $new_array[] = $arr[$keysort[$ii]];
        }
    }
    return $new_array;
}

$arr = array(
        array(
                'name'        =>    '学习',
                'size'        =>    '1235',
                'type'        =>    'jpe',
                'time'        =>    '1921-11-13',
                'class'        =>    'dd',
        ),
        array(
                'name'        =>    '中国功夫',
                'size'        =>    '153',
                'type'        =>    'jpe',
                'time'        =>    '2005-11-13',
                'class'        =>    'jj',
        ),
        array(
                'name'        =>    '编程',
                'size'        =>    '35',
                'type'        =>    'gif',
                'time'        =>    '1997-11-13',
                'class'        =>    'dd',
        ),
        array(
                'name'        =>    '中国功夫',
                'size'        =>    '65',
                'type'        =>    'jpe',
                'time'        =>    '1925-02-13',
                'class'        =>    'yy',
        ),
        array(
                'name'        =>    '中国功夫',
                'size'        =>    '5',
                'type'        =>    'icon',
                'time'        =>    '1967-12-13',
                'class'        =>    'rr',
        ),
);

echo '<pre>';
print_r(array_sort($arr,'size','asc'));
?>
posted on 2012-05-10 15:46  Lamp兄弟  阅读(193)  评论(0编辑  收藏  举报