删除有重复值的索引


PHP - remove index with duplicated values

我有一个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]因为它和索引[0]有相同的值。我在这里和谷歌上搜索,但找不到如何解决这个问题。

查看带有SORT_REGULAR标志的array_unique

array_unique($your_array, SORT_REGULAR);

不要太看重性能。

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

如果您有许多具有许多值的子数组,我可以建议为每个子数组计算散列和。然后将该散列存储到一个新数组或作为子数组的一个元素。然后通过比较哈希和unset($foundArray)进行迭代;为匹配。

try this

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