PHP - 基于键的预定顺序对关联数组进行排序

时间:2015-12-21 14:54:24

标签: php arrays sorting

我有以下结构:

Array
(
    [Lhgee] => some object
    [V4ooa] => some object
    [N0la] => some object
)

我需要按此顺序对此数组进行排序:V4ooa,Lhgee,N0la 所以在对数组进行排序之后会这样:

Array
(
    [V4ooa] => some object
    [Lhgee] => some object
    [N0la] => some object
)

我看过uasort并且我很确定这是我需要的(因为我需要将所有数据保存在相关的数组中)但是无法解决如何使用关联数组实现这一点的所有示例似乎使用整数索引。 感谢

1 个答案:

答案 0 :(得分:1)

我认为你需要检查一下

$order = array('V4ooa', 'Lhgee', 'N0la');
$array = array
    (
        ['Lhgee'] => some object
        ['V4ooa'] => some object
        ['N0la'] => some object
    );

$orderedArray = sortArray($array, $order);

var_dump($orderedArray);

function sortArray(array $array, array $order) {
    $ordered = array();
    foreach($order as $key) {
        if(array_key_exists($key,$array)) {
            $ordered[$key] = $array[$key];
            unset($array[$key]);
        }
    }
    return $ordered;
}

<强>更新

Check this This