按键排序/排列关联数组

时间:2016-03-30 08:15:28

标签: php arrays sorting

如何按键对关联数组进行排序/排列,我有一个像这样的数组

Array
(
    [0] => Array
        (
            [SF] => stdClass Object
                (
                   ['name']=>Miller
                   ['age']=>25
                   ['gender']=>M
                )

            [PF] => stdClass Object
                (
                   ['name']=>Dirk
                   ['age']=>30
                   ['gender']=>M
                )

            [SG] => stdClass Object
                (
                   ['name']=>Marcin
                   ['age']=>24
                   ['gender']=>M
                )

            [PG] => stdClass Object
                (
                   ['name']=>Julit
                   ['age']=>23
                   ['gender']=>F
                )

            [F] => stdClass Object
                (
                   ['name']=>Alex
                   ['age']=>21
                   ['gender']=>M
                )

            [G] => stdClass Object
                (
                  ['name']=>Andrew
                   ['age']=>22
                   ['gender']=>M
                )

            [C] => stdClass Object
                (
                   ['name']=>kevin
                   ['age']=>26
                   ['gender']=>M
                )

            [UTIL] => stdClass Object
                (
                   ['name']=>John
                   ['age']=>24
                   ['gender']=>M
                )
        )
     )

我想排序/排列上面的数组,如PG,SG,SF,PF,C,G,F,UTIL  这是排序后我的数组应该是这样的:

Array
(
    [0] => Array
        (

            [PG] => stdClass Object
                (
                   ['name']=>Julit
                   ['age']=>23
                   ['gender']=>F
                )
            [SG] => stdClass Object
                (
                   ['name']=>Marcin
                   ['age']=>24
                   ['gender']=>M
                )
            [SF] => stdClass Object
                (
                   ['name']=>Miller
                   ['age']=>25
                   ['gender']=>M
                )

            [PF] => stdClass Object
                (
                   ['name']=>Dirk
                   ['age']=>30
                   ['gender']=>M
                )
            [C] => stdClass Object
                (
                   ['name']=>kevin
                   ['age']=>26
                   ['gender']=>M
                )
           [G] => stdClass Object
                (
                  ['name']=>Andrew
                   ['age']=>22
                   ['gender']=>M
                )

            [F] => stdClass Object
                (
                   ['name']=>Alex
                   ['age']=>21
                   ['gender']=>M
                )
            [UTIL] => stdClass Object
                (
                   ['name']=>John
                   ['age']=>24
                   ['gender']=>M
                )
        )
     )

任何想法我怎样才能实现同样的目标?

1 个答案:

答案 0 :(得分:1)

作为自定义订单,您无法使用任何内置的PHP排序功能。一个简单的方法是:

$sort = array('PG', 'SG', 'SF', 'PF', 'C', 'G', 'F', 'UTIL');

$result = array();

foreach ($sort as $key) {
    $result[0][$key] = $myArray[0][$key];
}

var_dump($result);