Pregunta

I creó un cargador de imágenes que funciona mediante control remoto, por lo que cada vez que un usuario entra en un montón de enlaces, quiero prevenir enlaces duplicados que se agregan para que la imagen no se copia dos veces y se elimina por lo que deja a los enlaces a estar única sin duplicados.

$break = explode("\n", $links);
$count = count($break);

$unique_images = array();

for($i = 0; $i < $count; $i++)
{
    array_push($unique_images, $break[$i]); 
}

array_unique($unique_images);

El resto de las obras de código, pero yo no estoy por qué no está funcionando, también intentaron un bucle foreach pero eso no ayudó también.

he puesto a error_reporting E_ALL pero no hay errores. Yo uso var_dump en la matriz y me sale esto:

array(3) 
{ 
     [0]=> string(48) "http://localhost:8888/images/img/wallpaper-1.jpg" 
     [1]=> string(48) "http://localhost:8888/images/img/wallpaper-1.jpg" 
     [2]=> string(48) "http://localhost:8888/images/img/wallpaper-1.jpg" 
} 

¿Cómo es que la array_unique no elimina los duplicados?

¿Fue útil?

Solución

array_unique() retornos una nueva matriz , que no modifica la matriz en su lugar:

toma una matriz de entrada y devuelve una nueva matriz sin valores duplicados.

$unique_images = array_unique($unique_images);

Otros consejos

array_unique retornos la matriz filtrada, en lugar de alterarla. Cambiar la última línea en:

$unique_images = array_unique($unique_images)

y debería estar trabajando.

Sólo puede hacer:

$unique_images = array_unique(explode("\n", $links));

La función array_unique devuelve una nueva matriz con duplicados eliminados. Así que hay que recoger su valor de retorno.

también devuelve explode usted un array , que se puede alimentar directamente a array_unique.

$unique_images = array_unique($unique_images);

de lo contrario usted es simplemente descartando el resultado

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top