
Se a qualquer momento, programação, Você está dirigindo matrizes, o arranjos, e você precisa excluir itens repetidos do mesmo, Você pode fazê-lo de uma forma rápido por meio de um função própria de PHP.
Esta função é array_unique e o que isso, tendo passado como parâmetro um matriz indexada o associativa, nos Retorna outra matriz sem elementos repetidos, ou seja, com os elementos originais do mesmo. Nós vamos vê-lo com um exemplo de com ambos os tipos de matrizes.
Em primeiro lugar, Vamos supor que temos o seguinte matriz indexados:
1 | $miArray = array( 'Juan', 'Pedro', 'María', 'Inés', 'Pedro', 'José', 'María', 'Javier' ); |
Se nós chamamos a função print_r para essa matriz, obtemos:
1 | print_r( $miArray ); |
1 2 3 4 5 6 7 8 9 10 | Array ( [0] => Juan [1] => Pedro [2] => María [3] => Inés [4] => Pedro [5] => José [6] => María [7] => Javier ) |
Podemos observar que Existem elementos duplicados para essa matriz, Então você vai usar a função array_unique, passando esta matriz como parâmetro, para retornar um array sem elementos duplicados:
1 2 | $miNuevoArray = array_unique( $miArray ); print_r( $miNuevoArray ); |
1 2 3 4 5 6 7 8 | Array ( [0] => Juan [1] => Pedro [2] => María [3] => Inés [5] => José [7] => Javier ) |
Como podemos ver, o método array_unique Indique-no excluir itens duplicados de um matriz, desta forma, Não temos que fazer a mesma viagem e a comparação de cada um dos seus elementos com todos os outros.
No caso em que a matriz que estamos a tentar ser um matriz associativa, Este método vai agir da mesma forma, Uma vez que apenas a comparação dos valores de cada elemento da matriz será sem levar em conta sua senha. Assim, Se temos a seguinte matriz:
1 2 | $miArray = array( 'a' => 1, 'b' => 2, 'c' => 3, 'd' => 1, 'e' =>'4', 'f' => 2, 'g' => 5 ); print_r( $miArray); |
1 2 3 4 5 6 7 8 9 | Array ( [a] => 1 [b] => 2 [c] => 3 [d] => 1 [e] => 4 [f] => 2 [g] => 5 ) |
Para aplicar a função array_unique sobre isso matriz o Fix, o resultado será o seguinte:
1 2 3 4 5 6 7 | Array ( [a] => 1 [b] => 2 [c] => 3 [e] => 4 [g] => 5 ) |
Como você pode ver, função array_unique Não considera o chave itens em uma matriz associativa, Mas isso apenas definir os mesmos valores, eliminando as repetidas.
