通过字符串对多维数组进行排序?

6
我需要按照子子键 "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)
  }
}
2个回答

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

0

你可以使用array_multisortSORT_STRING选项,例如:

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接