废话不多说 直接贴代码 复制粘贴,直接可以用,适合作为共用方法。

/**
 * 对数组进行排序
 * @param $array        数据数组
 * @param $cond         条件(结构为:array(array(列名1, SORT_ASC/SORT_DESC, SORT_STRING/SORT_NUMERIC),
 *                                         array(列名1, SORT_ASC/SORT_DESC, SORT_STRING/SORT_NUMERIC)
 *                                    ),第三参数表示按照string还是数字进行排序,可不传,可为空,默认为类型不变进行排序)
 * -- by jianghao  2016-11-10
 */
function array_sort($array, $cond)
{
    if(!is_null($array) && count($array) > 0)
    {
        if(count($cond) == 0)
        {
            return $array;
        }
        else
        {
            //排序列表
            $sortList = array();
            //排序字段类型列表
            $typeList = array();
            foreach($cond as $sort)
            {
                $sortList[] = !empty($sort[1]) ? $sort[1] : SORT_DESC;
                $typeList[] = isset($sort[2]) ? $sort[2] : SORT_REGULAR;
            }
            
            //值列表
            $valueList = array();
            foreach($cond as $sort)
            {
                $columnName = $sort[0];
                $values = array();
                foreach($array as $index => $row)
                {
                    $values[] = $row[$columnName];
                }

                $valueList[] = $values;
            }
            
            $args = array();
            for($i = 0; $i < count($cond); $i++)
            {
                $args[] = &$valueList[$i];
                $args[] = &$sortList[$i];
                $args[] = &$typeList[$i];
            }
            $args[] = &$array;
            call_user_func_array('array_multisort', $args);
            
            return $array;
        }
    }
    else
    {
        return array();
    }
}