将数组按字母顺序排序为 nordic/locale 顺序

Sort array alphabetical as nordic/locale order

对不起 - 我正在学习 PHP。寻求帮助按名称对数组进行排序 - 但作为我的语言环境字母表。

我想按照北欧字母表对数组进行排序,并且我希望最后留下带有数字的行,我尝试使用带有 setlocale 的 multisort 但我无法正确排序。

我的示例数组:

Array(
[3] => Array
(
    [0] => WP_Term Object(
        [name] = 3-title-with-starting-3
    )
)
[9] => Array
(
    [0] => WP_Term Object(
        [name] = 9-title-with-starting-9
    )
)   

[A] => Array
(
    [0] => WP_Term Object(
        [name] = A-title-with-starting-A
    )
    [1] => WP_Term Object(
        [name] = A-title-with-starting-A2
    )       
)
[Z] => Array
(
    [0] => WP_Term Object(
        [name] = Z-title-with-starting-Z
    )
    [1] => WP_Term Object(
        [name] = Z-title-with-starting-Z
    )       
)
[Ö] => Array
(
    [0] => WP_Term Object(
        [name] = Ö-title-with-starting-Ö
    )
    [1] => WP_Term Object(
        [name] = Ö-title-with-starting-Ö
    )       
))  

您可以在 php 中使用 Collater class。这是一个例子。我不是语言学家,但我认为使用挪威语言环境可能会有所帮助。

<?php
$letters = ['Ö', 'X', 'A', 'Z', '2', '99', 'D'];   
//Make a Collator object with the locale code of the language to sort.
$collator = new Collator('nb'); //nb    Norwegian Bokmål

//Use Collator::sort() instead of sort() [returns a numerical array];
//or Collator::asort() instead of asort [maintains the keys of an associative array].
$collator->sort($letters, Collator::SORT_REGULAR);
var_dump($letters);