упорядочение стека массивов php - PullRequest
2 голосов
/ 21 февраля 2011

Я пытаюсь отсортировать этот массив в php:

Array
(
    [Levi Self] => Array
        (
            [0] => Portraits
            [1] => Abstract
        )

    [Portraits] => Array
        (
            [0] => Megan
        )

    [Abstract] => Array
        (
            [0] => Locks
        )

)

Чтобы выглядеть следующим образом:

Array
(
    [Levi Self] => Array
        (
            [Portraits] => Array
               (
                 [0] => Megan
               )

            [Abstract] => Array
               (
                 [0] => Locks
               )
        )
)

, который, в основном, удаляет дубликаты элементов "Портреты" и "Аннотация", поскольку они уже являются ключами для массива для начала, наряду с элементами под первым ключом" Levi Self ".Есть какой-либо способ сделать это?Спасибо, Леви Селф

1 Ответ

1 голос
/ 21 февраля 2011

$priKey = "Levi Self";
$arr = array(
    "Levi Self" => array("Portraits","Abstract"),
    "Portraits" => array("Megan"),
    "Abstract" => array("Locks")
);

function rearrangeData($primaryKey,$myArr){
    foreach($myArr[$primaryKey] as $key => $value){
        $myArr[$primaryKey][$value] = $myArr[$value];
        unset($myArr[$primaryKey][$key]);
        unset($myArr[$value]);
    }

    return $myArr;
}

$arr2 = rearrangeData($priKey, $arr);

print_r($arr); //what you started with
print_r($arr2); //what you want

...