【问题标题】:array_multisort() alphabetizing issues with lowercase lettersarray_multisort() 用小写字母排序问题
【发布时间】:2018-10-15 10:47:01
【问题描述】:

我有一个个人数据库,需要按姓氏字母顺序对他们进行排序。基本上:

array_multisort($arr['a'],SORT_ASC,$arr['b'], etc...)

我最初在 SORT_ASC 之后放置了一个 SORT_STRING,但它似乎对我没有任何影响,所以我放弃了它。

无论如何,字母排序工作完美,除了一些以小写“d”开头的法语名称,例如。 “德图萨德”。在以“Z”开头的名称之后,它在最后转储了这些名称。

当我将“d”大写时,它可以正常工作。

无论如何我可以做些什么来让它工作?

【问题讨论】:

    标签: php arrays multidimensional-array array-multisort


    【解决方案1】:

    正如本例http://php.net/manual/en/function.array-multisort.php#example-6112 中所解释的,您应该按原始数组的小写副本进行排序。 因此,如果您需要示例中的$arr['a'] 保持不变,请执行

    $lowercase = array_map('strtolower', $arr['a']);
    

    然后

    array_multisort($lowercase, SORT_ASC, SORT_STRING, $arr['b']);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-08-24
      • 1970-01-01
      • 1970-01-01
      • 2020-12-24
      • 2013-06-01
      • 1970-01-01
      • 2018-12-14
      • 1970-01-01
      相关资源
      最近更新 更多