我在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'
)
);
?>
我无法创建逻辑
答案 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