zoukankan      html  css  js  c++  java
  • php多维数组排序的方法

    问题源自德问上的一个问答:http://www.dewen.org/q/4352

    代码如下:

    <?php
    $array = array(
    '0' => array('3', 'one'),
    '1' => array('101', 'two'),
    '2' => array('12', 'three'),
    '3' => array('13', 'four'),
    '4' => array('1', 'five'),
    '5' => array('3', 'six'),
    );
    
    /*方法一:使用的是uasort()函数,而不是usort()函数,区别在于,uasort()会保持原来的索引,usort()会重建索引。*/
    function cmp($a, $b){  
        if($a[0] == $b[0]){  
            return 0;  
        }  
        return($a[0] < $b[0]) ? -1 : 1;  
    }  
    
    uasort($array,"cmp");  
    
    print_r($array);
    
    echo "<br/>**********************<br/>";
    
    /*方法二: 使用array_multisort*/
     
    foreach ($array as $key=>$value){
        $first[$key] = $value[0];
        $second[$key] = $value[1];
    }
     
    array_multisort($first,SORT_NUMERIC,SORT_ASC,$second,SORT_STRING,SORT_ASC,$array);
    print_r($array);
    /*
    排序顺序标志:
    
    SORT_ASC – 按照上升顺序排序
    SORT_DESC – 按照下降顺序排序
    
    排序类型标志:
    
    SORT_REGULAR – 将项目按照通常方法比较
    SORT_NUMERIC – 将项目按照数值比较
    SORT_STRING – 将项目按照字符串比较
    */

    参考:http://www.phpiask.com/?p=80

  • 相关阅读:
    Global Citizenship
    Eng Stu
    说说
    C#编程远程控制机械手臂
    切割系统
    C#编码 画图控件
    编程Sourceforge
    C#编程线程
    空间点的几何关系
    一台普通电脑通过设置连接到公司网络
  • 原文地址:https://www.cnblogs.com/jiji262/p/2637990.html
Copyright © 2011-2022 走看看