Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/261.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在不更改键值的情况下合并两个数组_Php_Arrays - Fatal编程技术网

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数组,如代码所示

<?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
)