PHP array_merge,它忽略不在第一个/基数组中的键值

cmo*_*sey 3 php arrays

我想知道是否有一个函数可以合并两个或多个数组,但会忽略第一个/基数组中没有包含的任何键值.

这是我正在做的当前结果和我正在寻找的结果的一个简单示例.

<?php

$array1 = array('a' => 1, 'b' => 2);
$array2 = array('b' => 3, 'c' => 4);
$result = array_merge($array1, $array2);

// current result
// $result = array('a' => 1,'b' => 3, 'c' => 4);

// what i would like
// $result = array('a' => 1,'b' => 3);

?>
Run Code Online (Sandbox Code Playgroud)

axi*_*iac 5

请求"忽略第一个/基本数组中未包含的任何键值"要求array_intersect_key()

$array1 = array('a' => 1, 'b' => 2);
$array2 = array('b' => 3, 'c' => 4);
$result = array_merge($array1, array_intersect_key($array2, $array1));
Run Code Online (Sandbox Code Playgroud)

array_intersect_key($array2, $array1)比较和的键,$array2$array1保持其中的值$array2与两个数组共有的键相关联.