PHP删除多维数组中的重复数组

Ice*_*ine 4 php arrays duplicates multidimensional-array

我需要检查2D数组($ arr)是否有任何重复项(顺序无关紧要)并将它们放入干净的数组中.

例如:

$arr = array ( 
    array (-9,1,8 ), 
    array (-9,2,7 ),
    array (-9,3,6 ),
    array (-9,4,5 ),
    array (-9,5,4 ),
    array (-9,6,3 ),
    array (-9,7,2 ),
    array (-9,8,1 )
)
Run Code Online (Sandbox Code Playgroud)

需要最终成为:

$cleanArr = array ( 
    array (-9,1,8 ), 
    array (-9,2,7 ),
    array (-9,3,6 ),
    array (-9,4,5 )
)
Run Code Online (Sandbox Code Playgroud)

要么

$cleanArr =  array(     
    array (-9,5,4 ),
    array (-9,6,3 ),
    array (-9,7,2 ),
    array (-9,8,1 )
)
Run Code Online (Sandbox Code Playgroud)

是否有PHP函数或我需要做一些循环来清理重复项?

Kev*_*vin 5

没有任何功能可以直接使用,但您可以使用功能组合.您可以先将所有子批次的数组先按升序排序,然后对它们array_unique进行序列化,然后再次使用,然后再次反序列化再次具有多维度:

foreach($arr as &$a){ sort($a); }
$arr = array_map('unserialize', array_unique(array_map('serialize', $arr)));
print_r($arr);
Run Code Online (Sandbox Code Playgroud)