Php 在不更改键值的情况下合并两个数组
我有两个php数组,如代码所示Php 在不更改键值的情况下合并两个数组,php,arrays,Php,Arrays,我有两个php数组,如代码所示 <?php $a=array('0'=>array('500'=>'1','502'=>'2')); $b=array('0'=>array('503'=>'3','504'=>'5')); print_r(array_merge($a[0],$b[0])); ?> 我可以在php中使用什么函数,以便在不更改键值的情况下获得以下输出 来自,例如#3: 如果要将第二个数组中的数组元素追加到第一个数组中,同时不覆盖第一
<?php
$a=array('0'=>array('500'=>'1','502'=>'2'));
$b=array('0'=>array('503'=>'3','504'=>'5'));
print_r(array_merge($a[0],$b[0]));
?>
我可以在php中使用什么函数,以便在不更改键值的情况下获得以下输出 来自,例如#3:
如果要将第二个数组中的数组元素追加到第一个数组中,同时不覆盖第一个数组中的元素,也不重新编制索引,请使用+数组联合运算符:
<?php
$array1 = array(0 => 'zero_a', 2 => 'two_a', 3 => 'three_a');
$array2 = array(1 => 'one_b', 3 => 'three_b', 4 => 'four_b');
$result = $array1 + $array2;
var_dump($result);
?>
因此,请尝试:$a[0]+$b[0]
尝试:
$final = array();
$a=array('0'=>array('500'=>'1','502'=>'2'));
$b=array('0'=>array('503'=>'3','504'=>'5'));
foreach( $a as $key=>$each ){
$final[$key] = $each;
}
foreach( $b as $key=>$each ){
$final[$key] = $each;
}
print_r( $final );
将打印:
Array ( [500] => 1 [502] => 2 [503] => 3 [504] => 5 )
@Vatev感谢您的解决方案$c[0]=$a[0]+$b[0];给出所需的数组$c。第一次,我在数组中看到了“+”操作符的用法。有趣的是,在我的开发环境(XAMPP PHP5.6.24)和测试环境(PHP5.5.9-1ubuntu4.20)中,数组合并会产生不同的输出,而开发环境会产生与+符号相同的结果,测试会产生文档中所述的数组合并。非常感谢。
$final = array();
$a=array('0'=>array('500'=>'1','502'=>'2'));
$b=array('0'=>array('503'=>'3','504'=>'5'));
foreach( $a as $key=>$each ){
$final[$key] = $each;
}
foreach( $b as $key=>$each ){
$final[$key] = $each;
}
print_r( $final );
$a=array('0'=>array('500'=>'1','502'=>'2'));
$b=array('0'=>array('503'=>'3','504'=>'5'));
$c = $a[0] + $b[0];
print_r($c);
Array ( [500] => 1 [502] => 2 [503] => 3 [504] => 5 )
$a=array('0'=>array('500'=>'1','502'=>'2'));
$b=array('0'=>array('503'=>'3','504'=>'5'));
$c = $a + $b; //$c will be a merged array
Just write :
<?php
$a = array(2=>'green', 4=>'red', 7=>'yellow',3=>'Green');
$b = array(8=>'avocado');
$d = $a+$b;
echo'<pre>'; print_r($d);
?>
Array
(
[2] => green
[4] => red
[7] => yellow
[3] => Green
[8] => avocado
)