我试图将两个数组合并在一起.两者都有数字键,是唯一的.当我使用array_merge时,它从0开始重新索引.
所以我要说
[2] = abc
[5] = cde
Run Code Online (Sandbox Code Playgroud)
我有
[32] = fge
[13] = def
Run Code Online (Sandbox Code Playgroud)
我想将这两者合并在一起,保持唯一的键.
下面是对当前合并行为的解释..任何解决方法?
"如果所有数组只包含数字键,则结果数组从零开始递增键."
Mat*_*ins 16
尝试使用+运算符.
$one = array(2 => 'abc', 5 => 'cde');
$two = array(32 => 'fge', 13 => 'def');
$three = $one + $two;
Run Code Online (Sandbox Code Playgroud)
$three 现在应该是这样的:
[2] = abc
[5] = cde
[32] = fge
[13] = def
Run Code Online (Sandbox Code Playgroud)
小智 6
如果要使用数字键合并数组,请保留键并使用第二个项中的项覆盖第一个数组中的项:
$a = array(0 => "a", 1 => "b");
$b = array(1 => "c", 5 => "d");
var_dump(array_diff_key($a, $b) + $b);
Run Code Online (Sandbox Code Playgroud)
将产生:
array(3) {
[0]=>
string(1) "a"
[1]=>
string(1) "c"
[5]=>
string(1) "d"
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5606 次 |
| 最近记录: |