PHP数组重新排列


PHP Array Re-Arrange

我在php中重新排列数组时遇到了一些问题。这就是我所拥有的。。。

Array
(
    [N] => Array
        (
            [68] => sssssss ttttttt
            [69] => uuuuuu vvvvvvvv
        )
    [D] => Array
        (
            [05] => zzzzzzzz zzzzzzzz
            [07] => tttttttttttt ttttttttttt
        )
    [P] => Array
        (
            [88] => yyyyyyy zzzzzzzz
        )
    [C] => Array
        (
            [04] => wwwwww wwwwwww
            [06] => iiiiiii iiiiiiii
            [41] => zzzzzzzzzz zzzzzzzzzz
        )
)

我想要的是以下。。。

Array
(
    [N] => Array
        (
            [68] => sssssss ttttttt
            [69] => uuuuuu vvvvvvvv
            // only C are added here with N
            [04] => wwwwww wwwwwww
            [06] => iiiiiii iiiiiiii
            [41] => zzzzzzzzzz zzzzzzzzzz
        )
    [D] => Array
        (
            [05] => zzzzzzzz zzzzzzzz
            [07] => tttttttttttt ttttttttttt
        )
    [P] => Array
        (
            [88] => yyyyyyy zzzzzzzz
        )
    [C] => Array
        (
            [04] => wwwwww wwwwwww
            [06] => iiiiiii iiiiiiii
            [41] => zzzzzzzzzz zzzzzzzzzz
        )
)

我需要将C元素添加到N中,而所有剩余元素都保持原样,包括C本身。

我该如何做到这一点?

请有人帮忙。。。感谢

非常简单的东西;只需像这样将两个数组相加:

// add C to N
$arr['N'] += $arr['C'];

如果你不知道密钥名称是什么,你只想瞄准第一个和最后一个项目:

reset($arr); $first = key($arr);
end($arr); $last = key($arr);
$arr[$first] += $arr[$last];

这实际上非常简单。您所需要做的就是循环遍历最后一个数组,并将这些键值对添加到第一个数组中。给你:

    //---- $mainArray is your array.

foreach ($mainArray['C'] as $key => $value)
{
      $mainArray['N'][$key] = $value;
}
print_r($mainArray);

试试这个:

$last_array = $main_array[count($main_array) - 1];
$new_array = array_merge($main_array[0], $last_array);
array_shift($main_array);
array_unshift($main_array, $new_array);
var_dump($main_array);