发布:net/PHP编程  编辑:thebaby   2013-06-28 13:12:54  【  

转自:http://www.jbxue.com/article/9991.html
本文介绍下,php中使用array_multisort函数进行二维数组排序的例子,有需要的朋友,参考下吧。

继上一篇文章:PHP二维数组排序自定义函数,今天,我们再介绍一个php二维数组排序的例子。
php对二维数组的排序很简单,主要用到array_multisort函数。

例子:

01 <?php
02 /**
03 * php二维数组排序
04 * edit www.jbxue.com
05 */
06     $data array();
07     $data[] = array('volume' => 67, 'edition' => 2);
08     $data[] = array('volume' => 86, 'edition' => 1);
09     $data[] = array('volume' => 85, 'edition' => 6);
10     $data[] = array('volume' => 98, 'edition' => 2);
11     $data[] = array('volume' => 86, 'edition' => 6);
12     $data[] = array('volume' => 67, 'edition' => 7);
13  
14     // 取得列的列表
15     foreach ($data as $key => $row)
16     {
17         $volume[$key]  = $row['volume'];
18         $edition[$key] = $row['edition'];
19     }
20  
21     array_multisort($volume, SORT_DESC, $edition, SORT_ASC, $data);
22  
23     print_r($data);
24 ?>

输出结果:

Array
    (
        [0] => Array
            (
                [volume] => 98
                [edition] => 2
            )

[1] => Array
            (
                [volume] => 86
                [edition] => 1
            )

[2] => Array
            (
                [volume] => 86
                [edition] => 6
            )

[3] => Array
            (
                [volume] => 85
                [edition] => 6
            )

[4] => Array
            (
                [volume] => 67
                [edition] => 2
            )

[5] => Array
            (
                [volume] => 67
                [edition] => 7
            )
    )

说明:
array_multisort函数的参数非常灵活,大家可以参照php手册中的说明,深入研究下。

>>> 更多内容,请查看 php数组排序方法大全 <<<

代码分享:php对二维数组进行排序的更多相关文章

  1. php 二维数组自定义排序

    eg1:只根据一个规则进行排序,比如我下面的数组是一组满减折扣的信息,我要按照满减的金额从小到大排序 代码: <?php $arr =[ ["amount"=> 60, ...

  2. Java 二维数组,排序、切换顺序,查表法二进制十进制,这班查找、排序(冒泡、选择)、遍历,获取最大小值(4)

    Java 二维数组,排序.切换顺序,查表法二进制十进制,折半查找.排序(冒泡.选择).遍历,获取最大小值(4)

  3. C# 实现二维数组的排序算法(代码)

    class Order { /// <summary> /// 对二维数组排序 /// </summary> /// <param name="values&q ...

  4. 二维数组sort排序

    和副本任务完全无关的奇怪感慨: 完全搞不懂我为什么会在搞图论的时候学这种奇怪东西,需要的时候不会,不需要的时候又莫名增加了奇怪的技能点. 之前的假期规划在十多天的放飞自我中彻底泡汤,简单的图论都一点不 ...

  5. 用PHP自带函数对二维数组进行排序

    经常会面临这样的需求,虽然有时候我们可以在数据库查询的时候,直接对数据进行排序,但还是无法满足日益复杂的业务需求. 这里边会用到两个函数 一个是array_column()函数,这个函数接受三个参数. ...

  6. php 二维数组的排序

    写这是之前一直二维数组排名困扰.自己写的好复杂. 正题: array_mutisort 官方帮助文档 <?php// 取得列的列表foreach ($data as $key => $ro ...

  7. Java数组排序基础算法,二维数组,排序时间计算,随机数产生

    import java.util.Arrays; //包含Arrays import java.util.Random; public class HelloWorld { public static ...

  8. 如何使用python来对二维数组进行排序

    1.复合排序 直接用numpy的lexsort就可以 import numpy as np data = np.array([[1,2,3,4,5], [1,2,3,6,7], [2,3,4,5,7] ...

  9. php二维数组自定义排序

    $arr = array( '0' => array('id' =>1,'price'=>200), '1' => array('id' =>2,'price'=> ...

随机推荐

  1. OpenCV数据结构:CvMat,IplImage,CvArr的应用

    最近看HS算法时,发现在新的OpenCV3.0已经移除了该算法,于是不得不看老版的.这其中涉及到了CvMat,CvArr,IplImage的使用.关于这三个结构与Mat的转换关系,总结如下: (1)派 ...

  2. SGU 194 【带上下界的无源汇的可行流】

    题意: 给点数n和边数m. 接下来m条有向边. a b c d 一次代表起点终点,下界上界. 求: 判断是否存在可行流,若存在则输出某可行流.否则输出IMPOSSIBLE 思路: <一种简易的方 ...

  3. PHP截取IE浏览器并缩小原图的方法

    这篇文章主要介绍了PHP截取IE浏览器并缩小原图的方法,涉及PHP调用com组件实现图像截取的相关技巧,需要的朋友可以参考下 本文实例讲述了PHP截取IE浏览器并缩小原图的方法.分享给大家供大家参考, ...

  4. Android——Dialog

    public class DialogActivity extends Activity { //进度对话框    ProgressDialog progressDialog; @Override   ...

  5. NEERC 2013, Eastern subregional contest

    I. The old Padawan Time limit: 0.5 secondMemory limit: 64 MB Yoda: Use the Force. Yes. Now, the ston ...

  6. AD采样问题总结

    说明:来源http://bbs.csdn.net/topics/390899032论坛讨论 一个100HZ的正弦波,我用300HZ的采样率去采样,那么根据香农定律是不是一秒钟就采集到300个点,因为这 ...

  7. Android书籍资源汇总

    之前一直在Linux下使用C++做服务器端的开发工作,对Android关于移动方面的开发了解较少,现将android开发方面的书籍与资源整理如下,方便后续的查阅. 19本Android开发书籍 7本A ...

  8. iptable nat网关

    echo "1" > /proc/sys/net/ipv4/ip_forward iptables -t nat -A POSTROUTING -s 192.168.1.0/ ...

  9. Oracle多线程并行使用、关联与指定索引执行

    nologging AS SELECT /*+parallel(4) leading(s a) use_hash(A) index(s IDX_CS_SERVICE_RECORD_MD2_04) */ ...

  10. PE查看器

    主要界面如下: 主要代码如下: BOOL CPEParseDlg::OnInitDialog() { CDialog::OnInitDialog(); // 设置此对话框的图标.当应用程序主窗口不是对 ...