PHP array_multisort重音字符

时间:2016-12-03 13:35:43

标签: php

我正在尝试使用array_multisort按字符串对数组中的项进行排序,这些字符串可以包含重音字符(捷克语)。

我找到了一些关于使用setlocale和array_multisort和SORT_LOCALE_STRING标志的提示,但是它没有用。

有机会获得带有SORT_LOCALE_STRING标志的array_multisort的工作示例吗?

这是我的代码段:

$oldLocale = setlocale( LC_ALL, "0" );
setlocale( LC_ALL, 'cs_CZ.utf8' );
array_multisort( $accented_string, SORT_ASC, SORT_LOCALE_STRING, $my_array );
setlocale( LC_ALL, $oldLocale );`

以下是一个例子:

我有一个多维数组,我用捷克城市的名字对它进行排序。

一些捷克城市是: Praha,Beroun,Plzeň,ČeskéBudějovice,Liberec。如果我只是通过简单的array_multidimensional排序来排序,结果是: Beroun,Liberec,Plzeň,Praha,ČeskéBudějovice。

我需要到达这里: Beroun,ČeskéBudějovice(Č=> C),Liberec,Plzeň,Praha。我必须使用array_multidimensional。

1 个答案:

答案 0 :(得分:1)

尝试使用:

setlocale(LC_TIME, 'cs_CZ.utf8', 'czech');