排行榜

php对二维数组某个键排序

本文阅读 1 分钟
首页 后端开发 正文
广告

/** 
 * 对查询结果集进行排序 
 * @access public 
 * @param array $list 查询结果 
 * @param string $field 排序的字段名 
 * @param string $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; 
    } 
 
/** 
 * 例子 
 * 求:根据二维数组的id键值降序排列(也就是id越大的排在越前)? 
 */ 
$list = array( 
    0 => array( 
        'id' => 1, 
        'name' => '第一' 
    ), 
    1 => array( 
        'id' => 3, 
        'name' => '第三' 
    ), 
    2 => array( 
        'id' => 2, 
        'name' => '第二' 
    ), 
    3 => array( 
        'id' => 4, 
        'name' => '第四' 
    ), 
); 
//解答 
$new_list = list_sort_by($list, 'id', 'desc');


本文来自投稿,不代表本站立场,如若转载,请注明出处:https://www.unfit.cn/archives/50.html
php二代身份证号验证的方法
« 上一篇 07-19
php获取经纬度计算距离
下一篇 » 07-19
广告

相关推荐