如果一个键存在于另一个数组中,如何从数组中移除该键

6

我有两个数组

array1 (
    "akey1" => "dfksjhf"
    "akey2" => "adasjkgffs"
    "akey3" => "afkjhsafshfkah"
)

array2 (
    "akey2" => "could be anything..."
)

我正在寻找一个PHP函数,可以向其提供两个数组,然后会发生以下情况:

如果两个数组都有相同的键(不考虑数据),那么请从数组1中删除该键,并返回数组1的剩余部分。

运行该函数将返回:

array3 (
    "akey1" => "dfksjhf"
    "akey3" => "afkjhsafshfkah"
)

有没有PHP功能可以完成这个,如果没有,如何在PHP中最快,最有效地完成此功能?

非常感谢

2个回答

16

你正在寻找 array_diff_key() 函数:

$array3 = array_diff_key($array1, $array2);

4

array_diff_key 可以帮助你:

返回一个数组,其中包含所有来自 array1 的条目,其键不存在于任何其他数组中。

$new_array = array_diff_key($array_1, $array_2);

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接