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

2024-01-12 17:14:59 举报文章

例如数组如下:

//by www.qzphp.cn
$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'))
);
//by www.qzphp.cn
//指定数组以$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;
}
$hot_cat = array_sort($hotcat, 'count', 'asc'); //此处对数组进行降序排列


如果你认为本文可读性较差,内容错误,或者文章排版错乱,请点击举报文章按钮,我们会立即处理!