-2

私は次の配列を持っています:

$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));

ありがとう

4

2 に答える 2

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);
于 2012-05-15T14:21:27.420 に答える
0

あなたがしたいことは、多次元配列から重複したキーを削除することです。

このような何かがうまくいくはずです:

$new_array = array();
foreach($t as $array) {
    foreach($array as $k => $v) {
        if(!array_key_exists($k, $new_array)) {
            $new_array[$k] = $v;
        }
    }
}
于 2012-05-15T14:37:21.327 に答える