我有一个个人数据库,需要按姓氏的字母顺序排序。基本上是:
array_multisort($arr['a'],SORT_ASC,$arr['b'], etc...)
我最初在SORT_ASC之后输入了一个SORT_STRING,但它似乎对我没什么影响,所以我放弃了它。
无论如何,字母顺序完美无缺,除了一些以小写字母开头的法国名字,例如," d" " de Toussard"。在名称以" Z"。
开头后,它将这些名称倾倒在最后当我把" d"它工作正常。
我能做些什么来让它无论如何都能发挥作用?
答案 0 :(得分:0)
如本例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']);