Frage

Ich habe ein Bild Uploader, die durch Fern arbeitet, so, wenn ein Benutzer eine Reihe von Links kommt, möchte ich werden verhindern doppelte Links hinzugefügt, so dass das Bild nicht zweimal kopiert und entfernt wird, so dass es die Links verläßt zu sein einzigartig ohne Duplikate.

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

Der Rest der Code funktioniert, aber ich bin immer nur nicht, warum es nicht funktioniert, ich habe auch versucht, eine foreach Schleife, aber das hat nicht geholfen als auch.

Ich habe error_reporting Satz E_ALL aber es gibt keine Fehler. Ich benutze var_dump auf dem Array und ich bekomme diese:

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

Wie der array_unique kommt keine Duplikate entfernen?

War es hilfreich?

Lösung

array_unique() zeigt ein neues Array , ist es nicht das Array anstelle ändern:

nimmt eine Eingangs Array und gibt ein neues Array ohne doppelte Werte.

$unique_images = array_unique($unique_images);

Andere Tipps

array_unique zeigt das gefilterte Array, anstatt sie zu verändern. Ändern Sie Ihre letzte Zeile in:

$unique_images = array_unique($unique_images)

und es sollte funktionieren.

Sie können einfach tun:

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

Die array_unique Funktion gibt ein neues Array mit Duplikaten entfernt. Sie müssen also den Rückgabewert sammeln.

Auch explode kehren Sie ein array , die Sie direkt zu array_unique füttern können.

$unique_images = array_unique($unique_images);

sonst bist du einfach verwirft das Ergebnis

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top