Question

Je créé une Uploader d'image qui fonctionne par distance, de sorte que chaque fois qu'un utilisateur entre un tas de liens, je veux empêcher les liens en double ajoutés afin que l'image ne soit pas copié deux fois et est retirée de sorte qu'il laisse les liens pour être unique, sans doublons.

$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);

Le reste des œuvres de code, mais je ne suis pas obtenir pourquoi il ne fonctionne pas, j'ai essayé aussi une boucle de foreach mais cela n'a pas aidé aussi.

J'ai mis error_reporting à E_ALL mais il n'y a pas d'erreurs. J'utilise var_dump sur le tableau et je reçois ceci:

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" 
} 

Comment se fait l'array_unique ne supprime pas de doublons?

Était-ce utile?

La solution

array_unique() retourne un nouveau tableau , il ne modifie pas le tableau en place:

  

Prend un tableau d'entrée et retourne un nouveau tableau en double.

$unique_images = array_unique($unique_images);

Autres conseils

array_unique retourne le tableau filtré, au lieu de l'altérer. Changez votre dernière ligne dans:

$unique_images = array_unique($unique_images)

et il devrait fonctionner.

Vous pouvez simplement faire:

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

La fonction array_unique retourne un nouveau tableau avec les doublons supprimés. Vous avez donc besoin de recueillir sa valeur de retour.

retourne aussi explode vous un array que vous pouvez directement nourrir array_unique.

$unique_images = array_unique($unique_images);

sinon vous jeter simplement le résultat

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top