当前位置: 首页 > 面试题库 >

PHP-如何比较两个数组并删除重复的值

翟修永
2023-03-14
问题内容

所以这让我很困扰。

我有两个数组:

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

现在,我想比较这两个数组,并删除所有重复的值。
最后,我想要这两个数组,但其中没有’demo’和’some’值。
我想从具有相同索引键和值的array-s中删除所有值。
数组将始终具有相同数量的值和索引,我只想比较它们并从它们中删除具有相同索引键和值的条目。

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

$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 = array_diff($arr_1, $arr_2);
$arr_2 = array_diff($arr_2, $arr_1);

我猜…



 类似资料:
  • 问题内容: 如果它具有另一个数组的元素,是否还有其他更好的方法可以从一个数组中删除重复项呢,它工作得很好。 问题答案: 或者,随着ES6的推出:

  • 问题内容: 我有两个表,并且如果第二个表中存在行的确切副本,则需要从第一个表中删除行。 有没有人举过我如何在MSSQL Server中执行此操作的示例? 问题答案: 好吧,在某个时候,您将必须检查所有列-可能还需要加入… 应该可以做到……还有,但是这只会有所 帮助 -您仍然需要检查实际值以防止哈希冲突。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

  • 我有以下数组列表 现在我需要比较这两个数组,并检查是否有id中的任何值存在于empIds中。如果是,我需要以布尔值true退出。我是这样做的。 但这需要很多时间。有人能帮我优化一下吗?

  • 问题内容: 我有两个JavaScript数组: 我希望输出为: 输出数组应删除重复的单词。 如何在JavaScript中合并两个数组,以使每个数组中的唯一项按插入原始数组中的相同顺序获得? 问题答案: 仅合并数组(不删除重复项) ES5版本使用: ES6版本使用解构 由于没有“内置”方式来删除重复项ECMA-262实际上有这样做的好处),因此我们必须手动进行: 然后,使用它: 这也将保留数组的顺序

  • 问题内容: 嗨,我正在尝试合并两个数组,并且还想从最终数组中删除重复的值。 这是我的数组1: 这是我的数组2: 我用于将两个数组合并为一个数组。它正在给出这样的输出 我要删除这些重复的条目,或者在合并之前删除它们…请帮助。.谢谢!!! 问题答案: http://se2.php.net/manual/zh/function.array- unique.php

  • 问题内容: 这主要是一个性能问题。我有一个字符串数组AllUids中现有的所有用户的主列表。我还列出了String数组EndUids中存在的所有已过期用户。 我正在使用Java进行工作,我的目标是从主列表AllUids中删除截止日期数组中存在的所有用户。我知道PHP有一个叫做array_diff的函数。 我很好奇Java是否具有可以比较两个数组并删除两个相似的元素的东西。我的目标是这里的性能,这就