Php 从二维阵列中删除重复项

Php 从二维阵列中删除重复项,php,arrays,multidimensional-array,foreach,duplicate-removal,Php,Arrays,Multidimensional Array,Foreach,Duplicate Removal,我有一个二维数组,我想从中删除重复项 var转储如下所示1=>abc.com。2=>acc.com,3=>abc.com所以我想删除第二个出现的abc.com,也就是我想删除3=>abc.com 我尝试使用嵌套循环,但代码不起作用 foreach ($var as $m) { foreach ($var as $s) { if(isset($m['Email'])){ if($m['E

我有一个二维数组,我想从中删除重复项

var转储如下所示
1=>abc.com。2=>acc.com,3=>abc.com
所以我想删除第二个出现的abc.com,也就是我想删除
3=>abc.com

我尝试使用嵌套循环,但代码不起作用

 foreach ($var as $m)
   {
        foreach ($var as $s)
        {
                if(isset($m['Email'])){
                    if($m['Email'] == $s['Email']){
                    echo 'matched with '.$s['Email'];
                    echo '</br>';
                    unset($s);
                    //echo $v['Email'];
                    //echo "<br>";
                }
            }
        }
   }
foreach($var为$m)
{
foreach(var为$s)
{
如果(isset($m['Email'])){
如果($m['Email']=$s['Email'])){
回音“匹配”。$s[“电子邮件”];
回音“
”; 未结算($s); //echo$v['Email']; //回声“
”; } } } }
我遗漏了什么吗?

你可以用

编辑:这是来自的代码和输出

PHP

<?php
$input = array("1" => "abc.com", "2" => "acc.com", "3" => "abc.com");
$result = array_unique($input);
print_r($result);
?>
Edit2:要让它从特定列中删除重复项,只需使用

$output = array_intersect_key($input, array_unique(array_column($input, 'Email')));
其中,$input是完整的数组,“Email”是您希望从中删除重复项的列

编辑:这是来自的代码和输出

PHP

<?php
$input = array("1" => "abc.com", "2" => "acc.com", "3" => "abc.com");
$result = array_unique($input);
print_r($result);
?>
Edit2:要让它从特定列中删除重复项,只需使用

$output = array_intersect_key($input, array_unique(array_column($input, 'Email')));
其中,$input是完整的数组,“Email”是您希望从

数组中删除重复项的列。\u unique($array)

嵌套的foreach中也有一个错误。假设您在上面发布了什么,您只需要一个foreach循环。如果需要添加第二个,则应基于正在设置的临时变量,例如foreach($row=>$key)。。您可以执行foreach($key as$item)

等等

array_unique($array)

嵌套的foreach中也有一个错误。假设您在上面发布了什么,您只需要一个foreach循环。如果需要添加第二个,则应基于正在设置的临时变量,例如foreach($row=>$key)。。您可以执行foreach($key as$item)


等等

如果您只想删除可以使用的副本


如果您只想删除可以使用的副本


使用我刚刚粘贴了我的数组的一个小片段,实际上我的数组包含的不仅仅是这些,比如电子邮件、Id、联系人号码等等,我只想检查电子邮件上的重复项,所以我不能使用这个功能,那么你要查找的代码中的内容将是:$output=array\u intersect\u key($input,array\u unique)(array\u列($input,“电子邮件”));谢谢,它说调用未定义的函数,在其他示例中,$item和$result是什么?我刚刚粘贴了我数组的一个小片段,实际上我的数组包含更多内容,如电子邮件、Id、联系人号码等,我只想检查电子邮件上的重复项,所以我无法使用此函数。如果您正在查找代码中的内容,则e:$output=array\u intersect\u key($input,array\u unique(array\u column($input,'Email'));谢谢,它说调用未定义的函数,在其他示例中,$item和$result是什么?