从PHP数组中删除特定的键值对

从PHP数组中删除特定的键值对,php,arrays,Php,Arrays,我有两个键值对数组,一个是原始的,另一个是需要删除的键值对数组。我需要删除一个特定的组合,即$removeArray将包含: Array([Word] => 78) 我试过: foreach($removeArray as $key => $value){unset($originalArray[$key][$value]);} 这根本不起作用我需要根据精确的键值对匹配来删除。 编辑: 原创的 Array ( [distribution] => 25 [watch] =&

我有两个键值对数组,一个是原始的,另一个是需要删除的键值对数组。我需要删除一个特定的组合,即$removeArray将包含:

Array([Word] => 78)
我试过:

foreach($removeArray as $key => $value){unset($originalArray[$key][$value]);}
这根本不起作用我需要根据精确的键值对匹配来删除。


编辑:

原创的

Array ( [distribution] => 25 [watch] => 25 [electricity] => 25 [timepiece] => 8 [wristwatch] => 25 [energy] => 8 [transmission] => 8 [clock] => 16 ) 
除去

Array ( [timepiece] => 8 [energy] => 8 [watch] => 17 ) 
结果

Array ( [distribution] => 25 [watch] => 25 [electricity] => 25 [wristwatch] => 25  [transmission] => 8 [clock] => 16 ) 

注:

[watch]=>25
不受影响,因为它不等于
[watch]=>17
试试这个

foreach($removeArray as $key => $value){
    if($value==$originalArray[$key])
        unset($originalArray[$key]);
}
您可以通过以下方式进行检查:

if($originalArray[$key] == "78" && $key = "Word") {
unset($originalArray[$key]);
}
您可以使用,用于比较值和键:

$result = array_diff_assoc($original, $to_remove);
示例代码:

$removeArray = array(
    'word'=>45,
    'number'=>112,
    'sign'=>2167
);

$originalArray = array(
    'lorem'=>2343,
    'ipsum'=>433,
    'word'=>78,
    'number'=>112,
    'sign'=>2167
);

$result = array_diff_assoc($originalArray, $removeArray);
结果:

Array
(
    [lorem] => 2343
    [ipsum] => 433
    [word] => 78
)

你能发布两个数组和预期结果吗?如果($key==“Word”){unset($originalArray[$key][$value]);}发布了示例数组。宾果!不知道它有多高效,但这是最简单的答案。谢谢!:)