此问题已在此处有答案:
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), }
我怎样才能得到预期的结果?
2条答案
按热度按时间h7appiyu1#
关于manual:
如果输入数组具有相同的字符串键,则该键的后一个值将覆盖前一个值。但是,如果数组包含数字键,则后面的值不会覆盖原始值,而是会被追加。
因此,只需将数组键转换为字符串即可。
wrrgggsh2#
你可以使用两个数组的联合,以良好的顺序: