删除重复的数组

时间:2012-05-15 14:20:33

标签: php arrays duplicates multidimensional-array

我有以下数组:

$t[0] = array('one'=>array('a'=>2,'b'=>3,'c'=>2,'e'=>4));
$t[1] = array('two'=>array('a'=>2,'b'=>3,'c'=>2,'e'=>4));
$t[2] = array('one'=>array('a'=>2,'b'=>3,'c'=>2,'e'=>4));
$t[3] = array('three'=>array('a'=>2,'b'=>3,'c'=>2,'e'=>4));

我想从上面的数组中删除重复的数组,结果应该是:

$t[0] = array('one'=>array('a'=>2,'b'=>3,'c'=>2,'e'=>4));
$t[1] = array('two'=>array('a'=>2,'b'=>3,'c'=>2,'e'=>4));
$t[2] = array('three'=>array('a'=>2,'b'=>3,'c'=>2,'e'=>4));

由于

2 个答案:

答案 0 :(得分:5)

$t[0] = array('one'=>array('a'=>2,'b'=>3,'c'=>2,'e'=>4));
$t[1] = array('two'=>array('a'=>2,'b'=>3,'c'=>2,'e'=>4));
$t[2] = array('one'=>array('a'=>2,'b'=>3,'c'=>2,'e'=>4));
$t[3] = array('three'=>array('a'=>2,'b'=>3,'c'=>2,'e'=>4));

$array = array();
foreach ($t as $key=>$value) {
    if (!in_array ($value, $array)) {
        $array [$key] = $value;
    }
}
print_r ($array);

答案 1 :(得分:0)

根据我的理解,您要执行的操作是从多维数组中删除重复的

这样的事情可以解决问题:

$new_array = array();
foreach($t as $array) {
    foreach($array as $k => $v) {
        if(!array_key_exists($k, $new_array)) {
            $new_array[$k] = $v;
        }
    }
}