php二维数组根据某字段排序(对查询结果集进行排序)

转载 2016年08月31日 11:27:18

二维数组键值排序函数


/**
 * 对查询结果集进行排序
 * http://www.onethink.cn
 * /Application/Common/Common/function.php
 *
 * @access public
 * @param array $list 查询结果
 * @param string $field 排序的字段名
 * @param string $sortby 排序类型 (asc正向排序 desc逆向排序 nat自然排序)
 * @return array
 */
if (! function_exists('list_sort_by'))
{
    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');


PHP array_multisort() 函数详解 及 二维数组排序(模拟数据表记录按字段排序)

一、先看最简单的情况。 有两个数组: $arr1 = array(1, 9, 5); $arr2 = array(6, 2, 4); array_multisort($arr1, $arr2); ...

PHP对查询结果集进行排序

  • 2013年05月09日 13:39
  • 928B
  • 下载

PHP 二维数组根据某个字段排序

转自:http://blog.csdn.net/liruxing1715/article/details/28265495 本文记录的要实现的功能类似于 MySQL 中的  ORDER BY...
  • a138984
  • a138984
  • 2015年02月14日 11:21
  • 282

PHP 二维数组根据某个字段排序

本文记录的要实现的功能类似于 MySQL 中的  ORDER BY,上个项目中有遇到这样的一个需求。 要求:从两个不同的表中获取各自的4条数据,然后整合(array_merge)成一个数组,再根据数据...

PHP 二维数组根据某个字段排序

本文记录的要实现的功能类似于 MySQL 中的  ORDER BY,上个项目中有遇到这样的一个需求。 要求:从两个不同的表中获取各自的4条数据,然后整合(array_merge)成一个数组,再根据数...

[乐意黎转载]PHP 二维数组根据某个字段排序

要实现的功能类似于 MySQL 中的 ORDER BY,要让数组实现这样一个排序需求。 要求:将 arrUsers 数组中的数据按照 age 来排序。 代码如下: /** * 二维数组根据某...
  • aerchi
  • aerchi
  • 2017年02月10日 11:56
  • 333

PHP 二维数组根据某个字段排序

参考链接:http://blog.csdn.net/liruxing1715/article/details/28265495 本文记录的要实现的功能类似于 MySQL 中的  OR...
  • ROVAST
  • ROVAST
  • 2015年10月05日 14:26
  • 399

容易遗忘的Comparable:一个结果集List,里面有很多的对象,要求根据对象的指定(age)字段进行排序

要排序的User bean要实现Comparable接口,重写 compareTo方法,面试过程中被问到的时候很可能会思考短路哦 package com.jiaocaigen; ...

php 对二维数组的某个键的值进行排序

有时候我们需要对二维数组的某个键的值进行排序,这里就是讨论这个问题。我们可以使用array_multisort()这个函数。array_multisort() 函数对多个数组或多维数组进行排序。 ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:php二维数组根据某字段排序(对查询结果集进行排序)
举报原因:
原因补充:

(最多只允许输入30个字)