Eliminar valores duplicados en un Array de PHP


Existen dos opciones para tener un array sin valores duplicados, la primera es evitando insertar el valor duplicado y la otra es eliminado los valores que hayas ingresado más de una vez.

Eliminar valores duplicados en un array

Para eliminar valores duplicados en un array puedes usar la función de PHP array_unique, aquí hay un ejemplo de como puedes usarla:

<?php

$animales = array('Perro', 'Perro', 'Gato', 'Caballo', 'Leon'  );

echo count($animales); // Imprime 5, hay 5 elementos

$animales = array_unique($animales); //Elimina duplicados

echo count($animales); // Imprime 4

 ?>

Evitar insertar valores duplicados en un array.

Si estas creando el array, una alternativa seria, no insertar el valor duplicado. Puedes revisar si el valor está en el array con la función in_array, aquí hay un ejemplo:

<?php

  $animales = array('Perro', 'Gato', 'Caballo', 'Leon'  );

  $perro = 'Perro';

  // Revisa que Perro no este en el array $animales
  if (!in_array($perro, $animales)) {
    $animales[] = $perro; //Si no esta, lo agrega....
  }

  echo count($animales); // Imprime 4 por que no agrego nuevamente a Perro
 ?>