PHP - 删除具有重复值的索引

时间:2013-05-08 23:33:36

标签: php multidimensional-array key-value

我有一个2D数组,它很简单:

[0] => Array
    (
        [0] => 6
        [1] => 6
        [2] => 6
    )

[1] => Array
    (
        [0] => 6
        [1] => 6
        [2] => 11
    )

[2] => Array
    (
        [0] => 6
        [1] => 6
        [2] => 6
    )

当然,他们在另一个阵列中。我想要的是删除索引[2],因为它与index [0]具有相同的值。我在这里和谷歌搜索但无法找到如何解决这个问题。提前谢谢。

4 个答案:

答案 0 :(得分:3)

使用SORT_REGULAR标记查看array_unique

array_unique($your_array, SORT_REGULAR);

答案 1 :(得分:0)

不要过分担心表现。

$dict = array();
foreach($your_data as $one_index){
  $dict[join('',$one_index)]=$one_index;
}

$res=array();
foreach($dict as $one_index){
   $res[] = $one_index;
}

var_dump($res);

答案 2 :(得分:0)

如果您有许多具有多个值的子数组,我建议为每个子数组计算一个哈希值。然后将该哈希存储到新数组中或作为子数组的元素存储。然后通过比较哈希并取消设置($ foundArray);比赛。

答案 3 :(得分:0)

试试这个

function array_unique_recusive($arr){
foreach($arr as $key=>$value)
if(gettype($value)=='array')
    $arr[$key]=array_unique_recusive($value);
return array_unique($arr,SORT_REGULAR);
}

如此处所述http://php.net/manual/en/function.array-unique.php