php - 如何从具有相同键和值的两个数组中删除值?

标签 php arrays

我有两个数组:

$array1 = array('[param1]' ,'demo' ,'[param2]' ,'some' ,'[param3]');
$array2 = array('value1'   ,'demo' ,'value2'   ,'some' ,'value3');

我想比较这两个数组并删除所有重复值。
最后,我想要这两个数组,但其中没有“演示”和“某些”值。
我想从具有相同索引键和值的数组中删除所有值。
数组将始终具有相同数量的值和索引,我只想比较它们并从它们中删除具有相同索引键和值的条目。

我现在正在做这样的事情:

$clean1 = array();
$clean2 = array();    

foreach($array1 as $key => $value)
{
    if($value !== $array2[$key])
    {
        $clean1[$key] = $value;
        $clean2[$key] = $array2[$key];
    }
}
    
var_export($clean1);
echo "<br />";
var_export($clean2);

这行得通!但我想知道有没有其他方法可以做到这一点?也许不使用 foreach 循环?

最佳答案

array_unique( array_merge($arr_1, $arr_2) );

或者你可以这样做:

$arr_1_final = array_diff($arr_1, $arr_2);
$arr_2_final = array_diff($arr_2, $arr_1);

关于php - 如何从具有相同键和值的两个数组中删除值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8691329/

相关文章:

查询结果中的 PHP 和 PostgreSQL 标准类型。为什么总是字符串?

php - 构建一个 PHP 路由器

php - Swift 2.1 POST 通过 HTTPBody 不起作用

php - 如何在单个 SQL 语句中实现此目的

javascript - 显示对象的随机内容

c++ - C++ 中非常大的一维数组

java - Java多维数组问题

条件运算符 "?:"和 "OR"的 PHP 语法惊喜

arrays - Excel VBA : Mysterious Zero is Being Added to Array Created with "For" Loop

Java:更改预填充的字符串数组列表中的元素