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

PHP的多维数组删除重复

黄兴业
2023-03-14
问题内容

不知道这个问题是否需要删除,但是我无法在其他地方找到答案,所以我可以去询问。

我有一个二维数组,如下所示:

Array
(
[0] => Array
    (
        [0] => dave
        [1] => jones
        [2] => c@b.c
    )

[1] => Array
    (
        [0] => john
        [1] => jones
        [2] => a@b.c

    )

[2] => Array
    (
        [0] => bruce
        [1] => finkle
        [2] => c@b.c
    )
)

我想删除那些重复的电子邮件。因此,在上述示例中,我只想删除[] [0]或[]
[2]。我不担心要检查名称或类似的东西,我只需要基于单个值对子数组进行重复数据删除。

此刻我有这样的事情

  if(is_array($array) && count($array)>0){
  foreach ($array as $subarray) {
    $duplicateEmail[$subarray[2]] = isset($duplicateEmail[$subarray[2]]);
    unset($duplicateEmail[$subarray[2]]);
   }
  }

但这是不对的。任何帮助表示赞赏。


问题答案:

一种使用数组索引唯一性的快速解决方案:

$newArr = array();
foreach ($array as $val) {
    $newArr[$val[2]] = $val;    
}
$array = array_values($newArr);

注意1:从上方可以看到,使用电子邮件地址的最后一个匹配项,而不是第一个。可以通过将第二行替换为

foreach (array_reverse($array) as $val) {

注意2:结果数组中的索引有些混杂。但是我想这没关系…



 类似资料:
  • 问题内容: 我们可以在php中从单个多维数组中删除重复项,是否可以与多维数组一起使用?它对我不起作用! 这是数组的样子 任何人都可以帮助我… 问题答案: 用户在array_unique页面上的评论确实对此有所启发。您很可能会在这些注释中找到一些隐藏的宝石- 这是非常方便的文档。 只需快速浏览器,便可以了解以下内容,以从多维数组中删除重复项:

  • 问题内容: 如何从PHP的多维数组中删除重复值? 数组示例: 问题答案: 这是另一种方式。没有保存中间变量。 我们使用它来删除来自各种重叠查询的结果。

  • 主要内容:实例,实例,三维数组,实例多维数组是包含一个或多个数组的数组。 在多维数组中,主数组中的每一个元素也可以是一个数组,子数组中的每一个元素也可以是一个数组。 一个数组中的值可以是另一个数组,另一个数组的值也可以是一个数组,依照这种方式,我们可以创建二维或者三维数组。 二维数组语法格式: 以上数组的元素会自动分配键值,从 0 开始: 实例 <?php // 二维数组: $cars = array ( array ( " Vol

  • 问题内容: 我对多维数组有这个问题。 给定以下多维数组: 我想检查它的值并找到重复项(即键0、2和3),仅留下一个键-值对删除其他键,结果是这样的: 我怎样才能做到这一点?? 问题答案: 这将使用以下命令从阵列中删除重复项:

  • 本文向大家介绍php去除二维数组的重复项方法,包括了php去除二维数组的重复项方法的使用技巧和注意事项,需要的朋友参考一下 php中去一维数组的重复项可以通过php内置函数array_unique(),但是php的array_unique函数对多维数组并不适用,怎么才能去除二维数组中的重复项呢? 以下给大家提供一个函数。 希望对大家学习php程序设计有所帮助。

  • 我是JavaScript的新手,知道我可以像下面这样转换数组,但不知道如何将值转换为JavaScript的多维关联数组,在那里我可以用JavaScript打印值。