問題:需要根據特定語言(例如希臘語(el))對包含字符串的數組(例如語言的原始名稱)進行排序,以這種方式,首先對用希臘語編寫的名稱進行排序,然后對其余名稱進行排序在其他語言中。輸入:$arLanguages = [? ? 'English',? ? 'Αγγλικ?',? ? 'Русский',? ? 'Ρωσικ?',? ? 'Ελληνικ?',];預期輸出:Array(? ? [0] => Αγγλικ?? ? [1] => Ελληνικ?? ? [2] => Ρωσικ?? ? [3] => English? ? [4] => Русский)我嘗試過的:setlocale(LC_COLLATE, 'el');asort($arLanguages);print_r($arLanguages);結果:什么也沒發生。
1 回答

忽然笑
TA貢獻1806條經驗 獲得超5個贊
您可以使用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] => Русский )
- 1 回答
- 0 關注
- 118 瀏覽
添加回答
舉報
0/150
提交
取消