Skip to main content
 首页 » 编程设计

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

2024年06月20日8shangdawei

我有两个键值对数组,一个是原始的,另一个是需要删除的键值对数组。我需要删除特定组合,即 $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

请您参考如下方法:

您可以使用array_diff_assoc()为此,比较值和键:

$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 
)