繁体   English   中英

array_multisort()小写字母的字母排序问题

[英]array_multisort() alphabetizing issues with lowercase letters

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

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

我最初是在SORT_ASC之后输入SORT_STRING,但对我来说似乎没有什么不同,所以我删除了它。

无论如何,按字母顺序排列的效果很好,除了一些以小写的“ d”开头的法语名称(例如)。 “德·图萨德”。 它以“ Z”开头的名称在最末尾转储了这些名称。

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

无论如何,我可以做些什么来使其正常工作?

如本示例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']);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM