当前位置: 主页

PHP二维数据根据某个键进行排序

/**
 * 对多位数组进行排序
 * @param $multi_array 数组
 * @param $sort_key需要传入的键名
 * @param $sort排序类型
 */
function multi_array_sort($multi_array, $sort_key, $sort = SORT_DESC) {
             
    if (is_array($multi_array)) {
    foreach ($multi_array as $row_array) {
        if (is_array($row_array)) {
            $key_array[] = $row_array[$sort_key];
        } else {
            return FALSE;
        }
        }
    } else {
        return FALSE;
    }
    array_multisort($key_array, $sort, $multi_array);
    return $multi_array;
}

示例如下:

$arr = array(
    array('name'=>'小明', 'score'=>59), 
    array('name'=>'小花', 'score'=>86),
    array('name'=>'小兰', 'score'=>75)
);
      
//使用函数进行排序, 第三个参数可以不传,默认从大到小进行排序
$arr = multi_array_sort($arr, 'score');
 
      
//效果如下
$arr = array(
    array('name'=>'小花', 'score'=>86),
    array('name'=>'小兰', 'score'=>75),
    array('name'=>'小明', 'score'=>59) 
);


分享一下 :
我来说两句 0 条评论 点击全部查看