2

我正在尝试按字母顺序对一组名称进行排序(在本例中为克罗地亚语)。

我怎样才能Đani在之前出现Derrick

$names = array(
    "Đani", "Bill", "Dennis", "George", "Derrick"
);

sort($names);

print_r($names);
4

2 回答 2

5

您需要适当地设置语言环境,可能像这样:

setlocale(LC_ALL, 'hr_HR');

然后告诉 sort 尊重语言环境:

sort($names,SORT_LOCALE_STRING);
于 2012-04-22T23:49:58.843 回答
0

如果可以,您可以将它们导入 MySQL 表并使用该ORDER BY子句进行排序,前提是您为数据库/表设置了正确的排序规则。

我确信有一些更简单的解决方案不需要 RDMS。

也看看这个问题:PHP 中支持 Unicode 的自然排序算法?

于 2012-04-22T23:47:39.783 回答