首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何根据php的名称对数组进行排序?

如何根据php的名称对数组进行排序?
EN

Stack Overflow用户
提问于 2015-10-27 09:51:38
回答 1查看 52关注 0票数 2

我有这样一个数组

代码语言:javascript
复制
Array
(
    [bms] => Array
        (
            [0] => 123456_bms_for__on__(10-06-2015_18-57).pdf
        )

    [fr] => Array
        (
            [0] => 123456_fr_on_09-21-2015_(09-22-2015_11-46).pdf
        )

    [pcm] => Array
        (
            [0] => 123456_pcm_for_vignesh_on__(10-12-2015_12-30).pdf
        )

    [fds] => Array
        (
            [0] => 123456_fds_ext_for__on__(08-25-2015_10-23).pdf
        )

    [dr] => Array
        (
            [0] => 123456_dr_for__on___(10-23-2015_13-06).pdf
        )

)

我想把这个数组按(bms,dr,fds,pcm,fr)顺序排列。

代码语言:javascript
复制
Array
(
    [bms] => Array
        (
            [0] => 123456_bms_for__on__(10-06-2015_18-57).pdf
        )
    [dr] => Array
        (
            [0] => 123456_dr_for__on___(10-23-2015_13-06).pdf
        )
    [fds] => Array
        (
            [0] => 123456_fds_ext_for__on__(08-25-2015_10-23).pdf
        )
    [pcm] => Array
        (
            [0] => 123456_pcm_for_vignesh_on__(10-12-2015_12-30).pdf
        )

    [fr] => Array
        (
            [0] => 123456_fr_on_09-21-2015_(09-22-2015_11-46).pdf
        )
)

请帮助我整理数组,并帮助我实现数组的新顺序,如何根据数组的键值排列数组。

EN

回答 1

Stack Overflow用户

发布于 2015-10-27 09:55:56

您可以使用库塞德 PHP函数。

uksort()将使用用户提供的比较函数对数组的键进行排序。如果您希望排序的数组需要按照一些重要的条件进行排序,则应该使用此函数。

代码语言:javascript
复制
$sortOrder = array("bms", "dr", "fds", "pcm", "fr");

uksort($yourArray, function($a, $b) use ($sortOrder) {
    return array_search($a, $sortOrder) - array_search($b, $sortOrder); 
});

工作IDEOneeval.in演示。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33364621

复制
相关文章

相似问题

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