2012-03-12 282 views
6

我需要通過sububkey「description」升序對這個數組進行排序。 我嘗試了一些方法,如usort,ksort,subval_sort但這些工作(我猜主要的問題是,這些都是字符串,總是)按字符串排序多維數組?

任何幫助表示讚賞

array(77) { 
    [0]=> 
    array(3) { 
    ["name"]=> 
    string(17) "abcd" 
    ["description"]=> 
    string(15) "Delete XY" 
    ["level"]=> 
    int(1) 
    } 
    [1]=> 
    array(3) { 
    ["name"]=> 
    string(13) "fgfgdgfd" 
    ["description"]=> 
    string(18) "Uploader XY" 
    ["level"]=> 
    int(1) 
    } 
    [2]=> 
    array(3) { 
    ["name"]=> 
    string(15) "sdfdsfsdfs" 
    ["description"]=> 
    string(20) "Download abc" 
    ["level"]=> 
    int(0) 
    } 
} 

回答

10
usort($array, function ($a, $b) { 
    return strcasecmp($a['description'], $b['description']); //compare two strings ignoring case 
}); 
+0

完美,謝謝! – peipst9lker 2012-03-12 08:57:34

0

你可以使用SORT_STRING選項array_multisort like:

array_multisort($ar[0], SORT_ASC, SORT_STRING, 
      $ar[1], , SORT_ASC, SORT_STRING);