我遇到的问题是,当我对字符串数组调用sort()时,它会按字母顺序对其进行微调,法语字符串除外。
它会这样排序:
Atlantic Inc.
Bait Inc.
Zack's Fish Mart
Émile Fisheries Inc.
如何对两种语言进行适当排序?
排序规则高度依赖于区域设置。您可以使用SORT_locale_STRING标志强制设置区域设置:
setlocale("LC_ALL", "fr_FR.utf8");
sort($arraytobesorted, SORT_LOCALE_STRING);
http://php.net/manual/en/function.sort.php
这是正确排序的。'"É"位于默认语言环境中的"Z"之后。
要更改此行为,请将sort()
的第二个参数设置为"SORT_LOCALE_STRING",并将系统的区域设置更改为支持所需排序的区域设置。