需要在指定的键值处将数组添加到另一个数组中

时间:2010-04-27 10:23:08

标签: php arrays multidimensional-array

好的,我有一个像这样的阵列,但不能保证按顺序排列......

$array = array(
    'sadness' => array(
        'info' => 'some info',
        'info2' => 'more info',
        'value' => 'value',
    ),
    'happiness' => array(
        'info' => 'some info',
        'info2' => 'more info',
        'value' => 'the value',
    ),
    'peace' => array(
        'info' => 'some info',
        'info2' => 'more info',
        'value' => 'the value',
    )
);

好的,我想在定义幸福键后立即投入此数组。我不能使用“和平”的关键,因为它必须在幸福之后直接进行,并且随着这个阵列的变化,和平可能不会幸福。

所以这就是我在幸福之后需要添加的内容......

$another_array['love'] = array(
    'info' => 'some info',
    'info2' => 'more info',
    'value' => 'the value of love'
);

所以在幸福之后直接输入后的最终输出应该是这样的:

$array = array(
    'sadness' => array(
        'info' => 'some info',
        'info2' => 'more info',
        'value' => 'value',
    ),
    'happiness' => array(
        'info' => 'some info',
        'info2' => 'more info',
        'value' => 'the value',
    ),
    'love' => array(
        'info' => 'some info',
        'info2' => 'more info',
        'value' => 'the value of love',
    ),
    'peace' => array(
        'info' => 'some info',
        'info2' => 'more info',
        'value' => 'the value',
    )
);

有人可以帮我一把。使用array_shift,array_pop或array_merge对我没有任何帮助,因为它们位于数组的开头和结尾。我需要将它直接放在$ array中的KEY位置之后。

谢谢:)

2 个答案:

答案 0 :(得分:2)

您正在尝试使用两个相同的键'love'创建一个数组。这是不可能的。

编辑:

你可以这样做:

$new_array = array();
foreach($array as $k => $v) {
        $new_array[$k] = $v;
        if($k == 'happiness') {
                $new_array['love'] = $another_array['love'];
        }
}

working example

答案 1 :(得分:0)

在我看来,你不明白在PHP中所有数组都是哈希(关联数组)。所以订单不会受到影响。如果您需要具有特定订单,则需要使用排序等来定义特定订单或使用简单数组

$order = array ('love', 'happiness', 'pease');

使用$ order数组访问$ array。在$ order数组中,键是1,2,3 ......