如何在php中的关联数组中推送数组

时间:2015-08-20 09:45:46

标签: php arrays

我在php中非常基本的关联数组

<?php
    $basic = array(
        'one'=>array(
            'value'=>'a',
            'color'=>'blue'
        )
    );
?>

现在在一些代码行之后我要添加这个数组

<?php
    $more_basic = array(
        'two'=>array(
            'value'=>'b',
            'color'=>'yellow'
        )
    );
?>

结果应该是这样的

<?php
    $basic_result = array(
        'one'=>array(
            'value'=>'a',
            'color'=>'blue'
        ),
        'two'=>array(
            'value'=>'b',
            'color'=>'yellow'
        )
    );
?>

我无法创建逻辑

4 个答案:

答案 0 :(得分:3)

使用array_merge -

$basic_result = array_merge($basic, $more_basic)

+

$basic_result = $basic + $more_basic

答案 1 :(得分:0)

您需要使用array_merge

$basic_result = array_merge($basic, $more_basic);
print_r($basic_result);

答案 2 :(得分:0)

您可以直接使用索引名称设置值,如下所示

<?php
    $basic = array(
        'one'=>array(
            'value'=>'a',
            'color'=>'blue'
        )
    );

    $basic['two'] = array(
        'value'=>'b',
        'color'=>'yellow'
    );    
?>

答案 3 :(得分:0)

嗯,PHP使用array_merge()

为您提供了一个非常干净的解决方案

在这里,您有两种方法可以解决您的问题

1. $basic_result = $basic + $more_basic;
2. $basic_result = array_merge($basic , $more_basic);

在第一种情况下,+运算符将右手数组中剩余键的元素附加到左手,而重复键不会被覆盖。

在第二种情况下,如果输入数组具有相同的字符串键,则该键的后一个值将覆盖前一个键。但是,如果数组包含数字键,则后面的值不会覆盖原始值,但会附加。如果所有数组只包含数字键,则结果数组从零开始递增键。

还应该注意,如果任何参数为NULL

,array_merge将返回NULL