[英]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.