【问题标题】:PHP remove duplicate values from multidimensional arrayPHP从多维数组中删除重复值
【发布时间】:2011-04-05 15:02:08
【问题描述】:

我们可以使用array_unique()从php中的单个多维数组中删除重复条目。是否可以与多维数组一起使用?它不适合我!

这是数组的样子

Array (
    [0] => Array ( [0] => 1001 [1] => john [2] => example )
    [1] => Array ( [0] => 1002 [1] => test [2] => dreamz )
    [2] => Array ( [0] => 1001 [1] => john [2] => example )
    [3] => Array ( [0] => 1001 [1] => example [2] => john )
    [4] => Array ( [0] => 1001 [1] => john [2] => example )
)

任何人都可以帮助我...

【问题讨论】:

标签: php arrays multidimensional-array


【解决方案1】:

array_unique 页面上的用户 cmets 确实对此有所了解。您很可能会在这些 cmets 中找到一些隐藏的宝石 - 它是一个非常方便的文档。

通过快速浏览器显示以下内容以从多维数组中删除重复项:

<?php
function super_unique($array)
{
  $result = array_map("unserialize", array_unique(array_map("serialize", $array)));

  foreach ($result as $key => $value)
  {
    if ( is_array($value) )
    {
      $result[$key] = super_unique($value);
    }
  }

  return $result;
}
?>

【讨论】:

  • Russell 我可以使用此函数删除重复但有一个问题如何重新索引数组内的数组..希望你能阐明
  • 一个更干净的解决方案,取自stackoverflow.com/questions/307674/…:$input = array_map("unserialize", array_unique(array_map("serialize", $input)));
【解决方案2】:

您可以将子数组(通过serialize())序列化为一个新数组,然后在其上运行array_unique(),然后反序列化生成的数组集。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-07-23
    • 1970-01-01
    • 1970-01-01
    • 2017-06-01
    • 2018-09-17
    • 1970-01-01
    • 2019-09-04
    相关资源
    最近更新 更多