Php 使用冰岛语言环境对数组进行排序
我有一个冰岛名字的列表,我需要排序,例如Php 使用冰岛语言环境对数组进行排序,php,locale,Php,Locale,我有一个冰岛名字的列表,我需要排序,例如 ["Árni", "Anna", "Birkir"] 正确的冰岛秩序应该在A和B之间 如果我尝试通过Collator进行排序,我会收到一条错误消息,说明使用了回退(=未安装冰岛语?[如何]安装其他语言?) 但是,如果我尝试在setlocale(LC_COLLATE,'is_is')之后通过strnatcmp进行排序,它会在Y和Þ之间返回Á(这是错误的) 如何在不亲自编程的情况下获得正确排序的冰岛名称?您可以使用该类(如果可用) 输出: array(3)
["Árni", "Anna", "Birkir"]
正确的冰岛秩序应该在A
和B
之间
如果我尝试通过Collator进行排序,我会收到一条错误消息,说明使用了回退(=未安装冰岛语?[如何]安装其他语言?)
但是,如果我尝试在setlocale(LC_COLLATE,'is_is')
之后通过strnatcmp
进行排序,它会在Y和Þ之间返回Á(这是错误的)
如何在不亲自编程的情况下获得正确排序的冰岛名称?您可以使用该类(如果可用)
输出:
array(3) { [0]=> string(4) "Anna" [1]=> string(5) "Árni" [2]=> string(6) "Birkir" }
使用var_转储(class_存在('Collator',false))代码>您可以检查该类是否可用
$arr = ["Árni", "Anna", "Birkir"];
$collator = new Collator('is_IS');
$collator->sort($arr);
var_dump($arr);