php - 从数组中删除在指定键上具有重复值的元素

标签 php arrays

如果我有这样的数组:

Array (
  [0]=>
  Array (
    ["id"]=> "1"
    ["desc"]=> "desc 1"
    ["type"]=> "T"
    ["date"]=> "17-JAN-12"
  )
  [1]=>
  Array (
    ["id"]=> "2"
    ["desc"]=> "desc 2"
    ["type"]=> "P"
    ["date"]=> "05-JAN-12"
  )
  [2]=>
  Array (
    ["id"]=> "1"
    ["desc"]=> "desc 3"
    ["type"]=> "P"
    ["date"]=> "15-JAN-12"
  )
  [3]=>
  Array (
    ["id"]=> "3"
    ["desc"]=> "desc 4"
    ["type"]=> "P"
    ["date"]=> "06-JAN-12"
  )
  [4]=>
  Array (
    ["id"]=> "2"
    ["desc"]=> "desc 5"
    ["type"]=> "T"
    ["date"]=> "06-JAN-12"
  )
 )

我想从中删除仅在键“id”上具有重复值的元素, 并得到:

Array (
  [0]=>
  Array (
    ["id"]=> "1"
    ["desc"]=> "desc 1"
    ["type"]=> "T"
    ["date"]=> "17-JAN-12"
  )
  [1]=>
  Array (
    ["id"]=> "2"
    ["desc"]=> "desc 2"
    ["type"]=> "P"
    ["date"]=> "05-JAN-12"
  )
  [2]=>
  Array (
    ["id"]=> "3"
    ["desc"]=> "desc 4"
    ["type"]=> "P"
    ["date"]=> "06-JAN-12"
  )
 )

谢谢。

最佳答案

$result = array();
foreach($array as $arr){
   if(!isset($result[$arr["id"]])){
      $result[$arr["id"]] = $arr;
   }
}

关于php - 从数组中删除在指定键上具有重复值的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8923406/

相关文章:

c++ - 在 C++ 中将数组作为参数传递

php - 使用 session 从表中提取更多数据(我想以配置文件格式显示用户的数据)

PHP:带有未定义常量的 Switch 语句

php - 为什么引用使用更多内存?

arrays - Haskell Data.Vector.Storable.unsafeFromForeignPtr 与 C 结构指针/数组字段

java - 将 char 数组分配给 int 数组

php - MySQL 结果打印多个

php - UTF-8贯穿始终

c - C 编译器内部如何处理数组和指针类型? ( int *a; 与 int a[]; )

javascript - 构建、修改、输出 Javascript 数组