php array_multisort对数据库结果多个字段进行排序
$data 数组中的每个单元表示一个表中的一行。这是典型的数据库记录的数据集合。
例子中的数据如下:
volume | edition -------+-------- 67 | 2 86 | 1 85 | 6 98 | 2 86 | 6 67 | 7
数据全都存放在名为 data 的数组中。这通常是通过循环从数据库取得的结果,例如 mysql_fetch_assoc()。
<?php
$data[] = array('volume' => 67, 'edition' => 2);
$data[] = array('volume' => 86, 'edition' => 1);
$data[] = array('volume' => 85, 'edition' => 6);
$data[] = array('volume' => 98, 'edition' => 2);
$data[] = array('volume' => 86, 'edition' => 6);
$data[] = array('volume' => 67, 'edition' => 7);
?>

本例中将把 volume 降序排列,把 edition 升序排列。
现在有了包含有行的数组,但是 array_multisort() 需要一个包含列的数组,因此用以下代码来取得列,然后排序。
<?php
// 取得列的列表
foreach ($data as $key => $row) {
$volume[$key] = $row['volume'];
$edition[$key] = $row['edition'];
}
// 将数据根据 volume 降序排列,根据 edition 升序排列
// 把 $data 作为最后一个参数,以通用键排序
array_multisort($volume, SORT_DESC, $edition, SORT_ASC, $data);
?>
数据集合现在排好序了,结果如下:
volume | edition -------+-------- 98 | 2 86 | 1 86 | 6 85 | 6 67 | 2 67 | 7

====================================================
实例2:
//有优惠活动优先 + 上架时间 最新时间的在最上面
//根据商品id取出来然后在用数组排序array_multisort
foreach ($goods as $key => $row) {
$start_time[$key] = $row['goods_listing_start_time'];
$is_activity[$key] = $row['is_activity'];
}
//SORT_ASC SORT_DESC
array_multisort($is_activity,SORT_DESC,$start_time, SORT_DESC, $goods);

php array_multisort对数据库结果多个字段进行排序相关推荐

  1. 如何获取数据库中标的所有字段和数据类型?

    如何获取数据库中标的所有字段和数据类型? 目录 如何获取数据库中标的所有字段和数据类型? #获取表中所有字段

  2. 取java.sql.date日期_JAVA 处理时间 - java.sql.Date、java.util.Date与数据库中的Date字段的转换方法[转]...

    1.如何将java.util.Date转化为java.sql.Date? 转化: java.sql.Date sd; java.util.Date ud; //initialize the ud su ...

  3. 不同数据库中两列字段相减(某列有空值)

    数据库中两个字段相减(某列有空值)处理方法: sql server中:select (isnull(字段1,0)-isnull(字段2,0)) as 结果 from 表 oracle中:select ...

  4. db2主键自增和oracle,oracle_浅析常用数据库的自增字段创建方法汇总,DB2复制代码 代码如下:CREATEnbsp - phpStudy...

    浅析常用数据库的自增字段创建方法汇总 DB2 CREATE   TABLE  T1 ( id  INTEGER   NOT   NULL  GENERATED ALWAYS  AS   IDENTIT ...

  5. java中将date插入mysql中date_JAVA 处理时间 - java.sql.Date、java.util.Date与数据库中的Date字段的转换方法[转]...

    1.如何将java.util.Date转化为java.sql.Date? 转化: java.sql.Date sd; java.util.Date ud; //initialize the ud su ...

  6. SQL语句判断指定的数据库、表、字段、存储过程是否存在

    SQL语句判断指定的数据库.表.字段.存储过程是否存在 直接上代码,对大家有用就好! 代码 --判断[TestDB]是否存在 if exists(select 1 from master..sysda ...

  7. SqlServer判断数据库、表、字段、存储过程、函数是否存在

    原文:SqlServer判断数据库.表.字段.存储过程.函数是否存在 判断数据库是否存在 if exists (select * from sys.databases where name = '数据 ...

  8. pg数据库 设置不区分大小写_pg数据库表名、字段名大小写问题

    问题描述: 使用pgAdmin新建了一个表user,添加了id.name.enScore三个字段.在user表中添加了几条记录后,使用select * from user:查询没有问题,会显示user ...

  9. ASP获取数据库表名,字段名以及对字段的一些操作

    最近,在ASP论坛上看到很多网友问怎么获取数据库表名,字段名以及如何对字段进行删除,增添的操作故写此文. 本人对SQLServer比较熟一些,故以SQLServer为列:    <%       ...

最新文章

  1. 图灵奖得主杨立昆人工智能十问:AI会统治人类吗?
  2. 分布式系统的面试题14
  3. 进入保护模式(三)——《x86汇编语言:从实模式到保护模式》读书笔记17
  4. 【机器学习】机器学习的学习经验总结!
  5. 5个常用的Python功能代码
  6. 请问染色浴比对染色性能有影响吗?浴比对染色的哪些性能有影响?染色亲和力测定有哪些实际应用意义
  7. 什么是java的元数据_学习大数据,为什么要先学习Java?
  8. (最短路)Shopping
  9. 华为帮助摩洛哥成为全球第一个5G全覆盖的国家
  10. android体系结构中每层的功能,Android体系结构
  11. docker必须要sudo,但是sudo的话,又获得不了环境变量怎么办?
  12. Linux工作笔记031---Centos7.3下安装tomcat
  13. Linux 利用hosts.deny 防止暴力破解ssh
  14. app流量相对专项测试(待续)
  15. 数值分析(6)-函数逼近的基本概念
  16. windows10商店应用离线安装方法
  17. 1、【QT】QT6.2 官网下载与安装教程
  18. 可操作 转载 安装cpan软件包软件包
  19. 如何在GitHub上建立一个自己的网站
  20. Windows远程桌面卡顿问题(包含网络调优)

热门文章

  1. 如何使用OSI模型排除故障
  2. 普通PC安装ESXI6.0无法识别网卡驱动问题
  3. 敏捷开发第二阶段个人(二)
  4. HDU 2564 词组缩写
  5. nginx日志模块及日志格式
  6. 博为峰Java技术题 ——JavaSE Java 方法Ⅲ
  7. log4j配置和使用
  8. 关于数据的级联删除和更新
  9. Windows原生运行Linux的技术细节
  10. android图片压缩总结