php 用键连接数组并保留第二个数组的值[重复]

fslejnso  于 2023-05-21  发布在  PHP
关注(0)|答案(2)|浏览(117)

此问题已在此处有答案

array_merge with indexes(3个答案)
4天前关闭。
我有两个数组要相互连接:

$array_1 = array(18 => 0
 , 19 => 0
 , 20 => 0
 , 21 => 0
 , 22 => 0
 , 23 => 0);

$array_2 = array(22 => 3
 , 23 => 4);

var_dump(array_merge($array_1, $array_2));

此代码的结果:

array(8) { [0]=> int(0) 
 [1]=> int(0) 
 [2]=> int(0) 
 [3]=> int(0) 
 [4]=> int(0) 
 [5]=> int(0) 
 [6]=> int(3) 
 [7]=> int(4) }

我期待的结果:

array(8) { [18] => int(0)
, [19] => int(0)
, [20] => int(0)
, [21] => int(0)
, [22] => int(3)
, [23] => int(4), }

我怎样才能得到预期的结果?

h7appiyu

h7appiyu1#

关于manual
如果输入数组具有相同的字符串键,则该键的后一个值将覆盖前一个值。但是,如果数组包含数字键,则后面的值不会覆盖原始值,而是会被追加。
因此,只需将数组键转换为字符串即可。

wrrgggsh

wrrgggsh2#

你可以使用两个数组的联合,以良好的顺序:

$array_1 = array(18 => 0, 19 => 0, 20 => 0, 21 => 0, 22 => 0, 23 => 0);
$array_2 = array(22 => 3, 23 => 4);
var_dump($array_2 + $array_1);

相关问题