首页 > 解决方案 > 给定对应于另一个数组的数组键,我如何合并它们?

问题描述

我有以下应该只是键的数组:

$keys = ['mod_4_key'];

以及包含大量信息的更大数组:

$big_array = [ 'mod_4_key' => ['old' => '', 'info' => ''], 'mod_5_key' => ..]

我想根据里面的内容$keys生成一个包含来自的信息的新数组$big_array,因此,如果我们要计算数组之间的“非差异”,输出应该是:

$final_array = [ 'mod_4_key' => ['old' => '', 'info' => '']]

我使用经典实现了这一点,foreach但我想知道是否没有内置的方法来实现这一点。

标签: phparrays

解决方案


使用简单的循环可能会更好foreach(),但可能有几种方法可以实现这一点。

array_flip()在 , 上使用$keys,因此您最终得到另一个关联数组,然后array_intersect_key()首先与大数组一起使用。

$final_array = array_intersect_key($big_array, array_flip($keys));

推荐阅读