对查询结果排序

/**
 * 对查询结果集进行排序
 * @param array $list 查询结果
 * @param string $field 排序的字段名
 * @param array $sortby 排序类型
 * asc正向排序 desc逆向排序 nat自然排序
 * @return array
 */
function list_sort_by($list, $field, $sortby = 'asc')
{
    if (is_array($list)) {
        $refer = $resultSet = array();
        foreach ($list as $i => $data) {
            $refer[$i] = &$data[$field];
        }

        switch ($sortby) {
            case 'asc':    // 正向排序
                asort($refer);
                break;
            case 'desc':    // 逆向排序
                arsort($refer);
                break;
            case 'nat':    // 自然排序
                natcasesort($refer);
                break;
        }
        foreach ($refer as $key => $val) {
            $resultSet[] = &$list[$key];
        }

        return $resultSet;
    }
    return false;
}
阅读更多
个人分类: php
上一篇防超时的file_get_contents改造函数
下一篇如何在浏览器直接下载文件而不输出
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭