本帖最后由 kwwlysua 于 2012-05-24 17:20:58 编辑

解决方案 »

  1.   


    $arr=array(array('132','20120524','23232.2','21.31'),array('126','20120524','-231232.2','13.321'),array('321','20120524','232.32','1.31'));
    $tmp = array_multisort($arr,SORT_DESC,SORT_REGULAR);
    print_r($arr);
    #Array ( [0] => Array ( [0] => 321 [1] => 20120524 [2] => 232.32 [3] => 1.31 ) [1] => Array ( [0] => 132 [1] => 20120524 [2] => 23232.2 [3] => 21.31 ) [2] => Array ( [0] => 126 [1] => 20120524 [2] => -231232.2 [3] => 13.321 ) ) 
      

  2.   

    foreach($arr as $v) $t[]=$v[2];
    array_multisort($t,SORT_DESC,$arr);
    print_r($arr);
      

  3.   

    什么叫“根据第3小组数据进行降序输出?”
    你的二维数组数据格式
    arr[0]'132','20120524','23232.2','21.31'
    arr[1]'126','20120524','-231232.2','13.321'
    arr[2]'321','20120524','232.32','1.31'
    你想要把arr[2]降序后输出整个数组,还是根据最后一列的大小顺序排列arr[0]arr[1]and arr[2]?
      

  4.   

    <?php
    $arr=array(array('132','20120524','23232.2','21.31'),array('126','20120524','-231232.2','13.321'),array('321','20120524','232.32','1.31'));
    uasort($arr, function($left, $right) {
                            if ($left[2] < $right[2]) {
                                    return -1;
                            } else if ($left[2] == $right[2]) {
                                    return 0;
                            } else {
                                    return 1;
                            }
                    });
    print_r($arr);
    ?>了解了一下,multisort在key相等的时候会用接下来的字段做比较,这里不合适。