Eliminar valores duplicados de un array en PHP

Minahil Noor 25 febrero 2021
Eliminar valores duplicados de un array en PHP

Este artículo introducirá un método para eliminar valores duplicados de un array en PHP.

Utiliza la función array_unique() para eliminar valores duplicados de un array en PHP

Podemos usar la función array_unique() para eliminar los valores duplicados de un array. La función array_unique() es una función especializada para eliminar los valores duplicados de un array. La sintaxis correcta para usar esta función es la siguiente.

array_unique($array, $flags);

La función array_unique() tiene dos parámetros. Los detalles de sus parámetros son los siguientes.

Variables Descripción
$array Es el array de la que queremos eliminar los valores duplicados.
$flags Especifica el patrón de clasificación del conjunto. Las banderas de clasificación son de cinco tipos.
SORT_REGULAR compara los elementos normalmente
SORT_NUMERIC compara los elementos numéricamente
SORT_STRING compara los elementos como cadenas
SORT_LOCALE_STRING compara los elementos como cadenas, basado en la locale actual.

Esta función devuelve el array libre de valores duplicados. El programa a continuación muestra las formas en que podemos usar la función array_unique() para eliminar los valores duplicados de un array en PHP.

<?php
$array = array("Rose","Lili","Jasmine","Hibiscus","Daffodil","Daisy","Daffodil","Daisy","Lili","Jasmine","Jasmine");
echo("Array before removal: \n");
var_dump($array);
$array = array_unique($array);
echo("Array after removal: \n");
var_dump($array);
?>

Producción :

Array before removal: 
array(11) {
  [0]=>
  string(4) "Rose"
  [1]=>
  string(4) "Lili"
  [2]=>
  string(7) "Jasmine"
  [3]=>
  string(8) "Hibiscus"
  [4]=>
  string(8) "Daffodil"
  [5]=>
  string(5) "Daisy"
  [6]=>
  string(8) "Daffodil"
  [7]=>
  string(5) "Daisy"
  [8]=>
  string(4) "Lili"
  [9]=>
  string(7) "Jasmine"
  [10]=>
  string(7) "Jasmine"
}
Array after removal: 
array(6) {
  [0]=>
  string(4) "Rose"
  [1]=>
  string(4) "Lili"
  [2]=>
  string(7) "Jasmine"
  [3]=>
  string(8) "Hibiscus"
  [4]=>
  string(8) "Daffodil"
  [5]=>
  string(5) "Daisy"
}

La función ha devuelto el array filtrada.

Ahora, si pasamos el parámetro $flags, la salida será cambiada.

<?php
$array = array("Rose","Lili","Jasmine","Hibiscus","Daffodil","Daisy","Daffodil","Daisy","Lili","Jasmine","Jasmine");
echo("Array before removal: \n");
var_dump($array);
$array = array_unique($array, SORT_NUMERIC);
echo("Array after removal: \n");
var_dump($array);
?>

Producción :

Array before removal: 
array(11) {
  [0]=>
  string(4) "Rose"
  [1]=>
  string(4) "Lili"
  [2]=>
  string(7) "Jasmine"
  [3]=>
  string(8) "Hibiscus"
  [4]=>
  string(8) "Daffodil"
  [5]=>
  string(5) "Daisy"
  [6]=>
  string(8) "Daffodil"
  [7]=>
  string(5) "Daisy"
  [8]=>
  string(4) "Lili"
  [9]=>
  string(7) "Jasmine"
  [10]=>
  string(7) "Jasmine"
}
Array after removal: 
array(1) {
  [0]=>
  string(4) "Rose"
}

La función ahora ha ordenado el array numéricamente.

Artículo relacionado - PHP Array