PHP-根据预先定义的键顺序对关联数组进行排序


PHP - Sort associative array based on predifined order of keys

我有以下结构:

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

我需要将此数组按以下顺序排序:V4ooa、Lhgee、N0la所以在排序后,数组会像这样:

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

我看过uasort,我很确定这正是我所需要的(因为我需要将所有数据保留在相关数组中),但我不知道如何使用关联数组来实现这一点,因为所有的示例似乎都使用整数索引。感谢

我想你需要检查这个

$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;
}

更新

检查这个