如何使用php从数组中删除重复的元素?

如何使用php从数组中删除重复的元素?,php,arrays,duplicates,Php,Arrays,Duplicates,嗨,这是我的var_转储结果。我的问题是:如果我的数组多次包含相同的“名称”(在我的例子中是“Test2”),那么删除其中一个。在我的例子中,[0]或[1]中的所有信息。Thx array(3) { [0]=> object(stdClass)#24 (14) { ["name"]=> string(19) "Test2" ["taskid"]=> string(5) "11526" } [1]=> object(std

嗨,这是我的var_转储结果。我的问题是:如果我的数组多次包含相同的“名称”(在我的例子中是“Test2”),那么删除其中一个。在我的例子中,[0]或[1]中的所有信息。Thx

array(3) {
  [0]=>
  object(stdClass)#24 (14) {
    ["name"]=>
    string(19) "Test2"
    ["taskid"]=>
    string(5) "11526"
  }
  [1]=>
  object(stdClass)#25 (14) {
    ["name"]=>
    string(19) "Test2"
    ["taskid"]=>
    string(5) "11526"
  }
  [2]=>
  object(stdClass)#26 (14) {
    ["name"]=>
    string(19) "Test1"
    ["taskid"]=>
    string(5) "11525"
  }
}
我想要这个结果:

array(3) {
      [0]=>
      object(stdClass)#24 (14) {
        ["name"]=>
        string(19) "Test2"
        ["taskid"]=>
        string(5) "11526"
      }
      [1]=>
      object(stdClass)#26 (14) {
        ["name"]=>
        string(19) "Test1"
        ["taskid"]=>
        string(5) "11525"
      }
    }

在您的示例中,DUB应用的不是数组而是对象,因此您需要像这样组合
array\u map
array\u unique

$arrayResult = array_map("unserialize", array_unique(array_map("serialize", $inputArray)));
或尝试

$arrayResult = array();
foreach ( $inputArray as $item ) {
    isset($arrayResult[$item->taskid]) or $arrayResult[$item->taskid] = $item;
}

var_dump($arrayResult); 

您可以使用array_unique()函数

您对对象的看法是正确的,但是您的示例给出了相同的结果。现在它可以工作了。你能解释一下你做了什么吗DYou将一个对象设置到新数组中,但在检查该对象是否存在于新数组中之前,如果不存在,则将添加该对象,否则将不添加该对象