相关疑难解决方法(0)

如何通过仅接管第二个数组中与第一个数组具有相同键的值来合并两个数组?

我想将两个数组相互合并:

$filtered = array(1 => 'a', 3 => 'c');
$changed = array(2 => 'b*', 3 => 'c*');
Run Code Online (Sandbox Code Playgroud)

合并应包括其中所有元素的$filtered所有元素以及$changed具有相应键的所有元素$filtered:

$merged = array(1 => 'a', 3 => 'c*');
Run Code Online (Sandbox Code Playgroud)

array_merge($filtered, $changed)将增加的附加键$changed进入$filtered为好.所以它并不适合.

我知道我可以$keys = array_intersect_key($filtered, $changed)用来获取两个数组中存在的密钥,这已经是工作的一半.

但是我想知道是否有任何(本机)函数可以将$changed数组减少到具有$keys指定的数组array_intersect_key?我知道我可以使用array_filter回调函数并在$keys其中进行检查,但是可能还有一些其他纯粹的本机函数只能从一个可以指定键的数组中提取那些元素?

我问,因为本机函数通常比array_filter回调快得多.

php arrays filter array-merge array-key

8
推荐指数
1
解决办法
4918
查看次数

标签 统计

array-key ×1

array-merge ×1

arrays ×1

filter ×1

php ×1