有这样一个数组
$arr['a']['name'] = 'aaa'; 
$arr['a']['age'] = 27; $arr['b']['name'] = 'bbb'; 
$arr['b']['age'] = 23; ...现在我想按照 age 的大小来排序 $arr 这个数组,请问应该如何写呢?

解决方案 »

  1.   

    直接sort貌似不能对多维数据起作用吧?
      

  2.   

    bool array_multisort ( array ar1 [, mixed arg [, mixed ... [, array ...]]])
    array_multisort() 可以用来一次对多个数组进行排序或者根据某一维对多维数组进行排序。排序时保留原有的键名关联。 
      

  3.   


    <?php
    $arr['a']['name'] = 'aaa'; 
    $arr['a']['age'] = 27; 
    $arr['b']['name'] = 'bbb'; 
    $arr['b']['age'] = 23; 
    $arr['c']['name'] = 'ccc'; 
    $arr['c']['age'] = 25; 
    function _sort($a,$b)
    {
    return ($a['age'] >= $b['age']) ? 1 : -1;
    }
    uasort($arr,'_sort');
    print_r($arr);
    ?>
      

  4.   

    <?php
    $arr['a']['name'] = 'aaa'; 
    $arr['a']['age'] = 27; 
    $arr['b']['name'] = 'bbb'; 
    $arr['b']['age'] = 23; 
    $arr['c']['name'] = 'ccc'; 
    $arr['c']['age'] = 25; 
    function _sort($a,$b)
    {
        return ($a['age'] >= $b['age']) ? 1 : -1;
    }
    uasort($arr,'_sort');
    print_r($arr);
    ?>
     这个肯定行.