<?php
//按C的大小重新排列数组
$arr = array(
array('a'=>33,'b'=>32,'c'=>12),
array('a'=>33,'b'=>32,'c'=>13),
array('a'=>33,'b'=>32,'c'=>11)
);

解决方案 »

  1.   

    $arr = array(
    array('a'=>33,'b'=>32,'c'=>12),
    array('a'=>33,'b'=>32,'c'=>13),
    array('a'=>33,'b'=>32,'c'=>11)
    );
    usort($arr, 'sortByC');
    function sortByC($a, $b) {
    return $a['c'] - $b['c'];
    }
    echo '<pre>';
    print_r($arr);Array
    (
        [0] => Array
            (
                [a] => 33
                [b] => 32
                [c] => 11
            )
        [1] => Array
            (
                [a] => 33
                [b] => 32
                [c] => 12
            )
        [2] => Array
            (
                [a] => 33
                [b] => 32
                [c] => 13
            )
    )
      

  2.   

    foreach($arr as $v) $t[]=$v['c'];
    array_multisort($t,$arr);
    print_r($arr);Array
    (
        [0] => Array
            (
                [a] => 33
                [b] => 32
                [c] => 11
            )    [1] => Array
            (
                [a] => 33
                [b] => 32
                [c] => 12
            )    [2] => Array
            (
                [a] => 33
                [b] => 32
                [c] => 13
            ))
      

  3.   


    $arr = array(
    array('a'=>33,'b'=>32,'c'=>12),
    array('a'=>33,'b'=>32,'c'=>13),
    array('a'=>33,'b'=>32,'c'=>11)
    );
    array_multisort($arr);
    print_r($arr);
    #Array ( [0] => Array ( [a] => 33 [b] => 32 [c] => 11 ) [1] => Array ( [a] => 33 [b] => 32 [c] => 12 ) [2] => Array ( [a] => 33 [b] => 32 [c] => 13 ) )