首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >区域设置识别字符串比较

问区域设置识别字符串比较
EN

Stack Overflow用户
提问于 2010-07-08 21:38:31
回答 1查看 1.5K关注 0票数 2

我将strcmp与usort结合使用,以便对国家名称数组进行排序。目前,排序顺序为:

代码语言:javascript
复制
Belgien
Frankreich
Italien
Luxemburg
Niederlande
Spanien
United Kingdom
Österreich

这是正确的,除了Österreich的位置。它应该在Niederlande和Spanien之间。

我还尝试了strnatcmp和strcoll (使用setlocale),但排序顺序不是我想要的方式。结果不是来自mysql数据库,因此不能通过mysql查询进行排序。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-05-22 22:45:09

老问题,与此同时,我在另一家公司做另一个项目,但最近面临着同样的问题。最终成功的是为PHP安装intl extension。

代码语言:javascript
复制
sudo apt-get install php5-intl

然后使用:

代码语言:javascript
复制
$arr = array(
"Belgien",
"Frankreich",
"Italien",
"Luxemburg",
"Niederlande",
"United Kingdom",
"Österreich",
"Spanien",
"Ásdf",
);

$coll = collator_create('de_DE');
$coll->sort($arr);
print_r($arr);

按预期顺序返回结果:

代码语言:javascript
复制
Array
(
    [0] => Ásdf
    [1] => Belgien
    [2] => Frankreich
    [3] => Italien
    [4] => Luxemburg
    [5] => Niederlande
    [6] => Österreich
    [7] => Spanien
    [8] => United Kingdom
)
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3204136

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档