在PHP中的关联数组上进行数组合并

ben*_*e89 11 php array-merge

我如何在关联数组上执行array_merge,如下所示:

数组1:

$options = array (
"1567" => "test",
"1853" => "test1",
);
Run Code Online (Sandbox Code Playgroud)

数组2:

$option = array (
"none" => "N/A"
);
Run Code Online (Sandbox Code Playgroud)

所以我需要array_merge这两个,但是当我这样做时(在调试中):

Array
(
    [none] => N/A
    [0] => test
    [1] => test1
)
Run Code Online (Sandbox Code Playgroud)

Dhr*_*hak 12

尝试使用:

$ finalArray = $选项+ $选项.看到http://codepad.org/BJ0HVtac 只是检查重复键的行为,我没有测试这一点.对于独特的键,它很棒.

<?php

$options = array (
                  "1567" => "test",
                  "1853" => "test1",
                  );


$option = array (
"none" => "N/A"
);


$final = array_merge($option,$options);

var_dump($final);


$finalNew = $option + $options ;

var_dump($finalNew);

?>
Run Code Online (Sandbox Code Playgroud)

  • 还要记住,合并后键将为"0"和"1".array_merge()函数重置数字键! (2认同)

TMS*_*TMS 12

好用$options + $option!

var_dump($options + $option);
Run Code Online (Sandbox Code Playgroud)

输出:

array(3) {
  [1567]=>
  string(4) "test"
  [1853]=>
  string(5) "test1"
  ["none"]=>
  string(3) "N/A"
}
Run Code Online (Sandbox Code Playgroud)

但是在发生钥匙碰撞时要小心.以下是PHP手册所说的内容:

将保留第一个数组中的键.如果两个数组中都存在数组键,则将使用第一个数组中的元素,并忽略第二个数组中的匹配键元素.