gpt4 book ai didi

php - 有没有更好的方法来对包含各种语言的字符串的数组进行排序

转载 作者:行者123 更新时间:2023-12-02 11:17:52 25 4
gpt4 key购买 nike

问题 :需要根据特定语言对包含字符串的数组进行排序,例如语言的原始名称,例如希腊语 (el),以这样的方式,以希腊语书写的名称将首先排序,然后是其他语言的其余名称。
输入 :

$arLanguages = [
'English',
'Αγγλικά',
'Русский',
'Ρωσική',
'Ελληνικά',
];
预期输出 :
Array
(
[0] => Αγγλικά
[1] => Ελληνικά
[2] => Ρωσική
[3] => English
[4] => Русский
)
我试过的 :
setlocale(LC_COLLATE, 'el');
asort($arLanguages);
print_r($arLanguages);
结果:什么都没有发生。
编辑 : 我的 PHP 版本是 7.3。
编辑 1 : Simone 的解决方案不适用于中文和日文。我认为这与多字节字符有关,或者因为中文和日文也使用拉丁字母。
亲爱的 SO 社区,如何以最好的方式解决所描述的问题?
谢谢你的时间!

最佳答案

您可以使用 Collator::sort

$arLanguages = [
'English',
'Αγγλικά',
'Русский',
'Ρωσική',
'Ελληνικά',
];

$coll = collator_create( 'el' );
collator_asort( $coll, $arLanguages ); // to preserve indexes

print_r($arLanguages); //output Array ( [0] => Αγγλικά [1] => Ελληνικά [2] => Ρωσική [3] => English [4] => Русский )

关于php - 有没有更好的方法来对包含各种语言的字符串的数组进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62692352/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com