【问题标题】:Sorting a multidimensional array by string? [duplicate]按字符串对多维数组进行排序? [复制]
【发布时间】:2012-03-28 16:07:44
【问题描述】:

我需要按子键“描述”升序对该数组进行排序。 我尝试了一些方法,如 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)
  }
}

【问题讨论】:

    标签: php string sorting multidimensional-array


    【解决方案1】:
    usort($array, function ($a, $b) {
        return strcasecmp($a['description'], $b['description']); //compare two strings ignoring case
    });
    

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        猜你喜欢
        • 2018-07-17
        • 1970-01-01
        • 1970-01-01
        • 2011-12-19
        • 1970-01-01
        • 2013-04-03
        • 1970-01-01
        • 2012-11-15
        • 1970-01-01
        相关资源
        最近更新 更多