Hola!!
Tengo un código fuente ($mi_cadena) en la que tengo mucho código, y en el aparecen correos electronicos, puede aparecer en cualquier parte del código, puede salir repetido el mismo correo 1, 2, 3 ... veces. 
Busqué un código que me extrayera solo los correos electrónicos, este:  
 Código PHP:
    <?
/Verificar que tengamos algun contenido en el texto
if (!isset($mi_cadena))
{
    echo "Debe introducir una txt de texto.";
}
else
{
    stripslashes($mi_cadena);
    $exp_email = '[_a-z0-9\-]+(\.[_a-z0-9\-]+)*\@[_a-z0-9\-]+(\.[a-z]{1,4})+';
 
    //Buscar y extraer los e-mails
    $encontrado = preg_match_all ("/$exp_email/i", $mi_cadena, $emails, PREG_SET_ORDER);
 
 
//Muestra la lista de e-mails encontrados
      if ($encontrado)
    {
        foreach ($emails AS $eml)
        {
            echo $eml[0]."<br>";
        }
    }
    else
    {
        echo "No se encontró ninguna dirección de correo electrónico";
    }
}
?>    
  Y obtengo un array como 
array ([0] => 
[email protected] [1]=>[2]=>.com)  
así con cada correo que encuentre, pero si aparece el mismo correo 3 veces, aparecerá 3 veces en el array y quiero obtener la lista pero sin que se repita.  
He buscado en google, me ha aparecido entre otras este foro (como casi siempre), pone que use  
$array_resultante = array_unique ($array_a_tratar); 
o 
array_flip 
pero 
NADA, no me sale, no sirve eso o no consigo hacerlo funcionar con ese tipo de array, ya que el array tiene 3 partes ... y no es un simple array como
$array[0] = 
[email protected], $array[1] = 
[email protected] etc etc.... 
A ver si alguien me ayuda para conseguir obtener la lista de correos sin repetir. 
Gracias!