PHP:检查多维数组中的重复值

Mal*_*ror 5 php arrays duplicates multidimensional-array

我有多维数组的这个问题.

给定以下多维数组:

Array(
[0] => Array("a", "b", "c")
[1] => Array("x", "y", "z")
[2] => Array("a", "b", "c")
[3] => Array("a", "b", "c")
[4] => Array("a", "x", "z")
)
Run Code Online (Sandbox Code Playgroud)

我想检查它的值并找到重复项(即键0,2和3),只留下一个键 - 值对删除其他键,导致这样的事情:

Array(
    [0] => Array("a", "b", "c")
    [1] => Array("x", "y", "z")
    [2] => Array("a", "x", "z")
    )
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点??

Tim*_*per 11

这将使用array_unique()以下内容从阵列中删除重复项:

$new_arr = array_unique($arr, SORT_REGULAR);
Run Code Online (Sandbox Code Playgroud)


JF *_*ion 6

你可以简单地使用 in_array()

$data = Array(
    0 => Array("a", "b", "c"),
    1 => Array("x", "y", "z"),
    2 => Array("a", "b", "c"),
    3 => Array("a", "b", "c"),
    4 => Array("a", "x", "z"),
);

$final = array();
foreach ($data as $array) {
    if(!in_array($array, $final)){
        $final[] = $array;
    }
}
Run Code Online (Sandbox Code Playgroud)

这会让你像

array(3) {
  [0] => array(3) {
    [0] => string(1) "a"
    [1] => string(1) "b"
    [2] => string(1) "c"
  }
  [1] => array(3) {
    [0] => string(1) "x"
    [1] => string(1) "y"
    [2] => string(1) "z"
  }
  [2] => array(3) {
    [0] => string(1) "a"
    [1] => string(1) "x"
    [2] => string(1) "z"
  }
}
Run Code Online (Sandbox Code Playgroud)