Array_unique kürzt zu viel

hallo,
ich hab da mal ne frage.
bei einem php skript von mir werden domains verarbeitet.
da auch domains doppelt vorkommen, wollte ich diese mit array_unique herausfiltern, als ergebnis werden aber von 200 domains nur 10 in das neue array übernommen.
wisst ihr, wo der fehler liegen könnte?

Einige zusätzliche Informationen wären schon nützlich.

  • Wie sind die Domains im array gespeichert ?
  • benutzt du Flags ?
  • php-Version

LG pit

php 5.3
$array = array(‘google.de’, ‘abc.de’);
flags benutze ich keine.

liebe grüße,
sebastian

Noch nie von solchen Problemen gehört. Kleiner Test, fkt. bei mir (PHP 5. 3. 8 ) 1A:

$a = array('google.de', 'abc.de');
for($i=0;$i<200;$i++) {$a[]="abc".$i.".de";}
$b = array_merge($a,$a);  //404 Elemente
$c = array_unique($b);  //202 Elemente
var_dump($c);

ja, mich verwundert das ja auch. deshalb frage ich ja :stuck_out_tongue:

Wenn der Schnipsel da oben auch in deiner Umgebung läuft, dann wird das Problem wohl im Umfeld von array_unique irgendwo in deinem Code stecken.

Hi,

da du die domains ja in der db sicherst würde ich einfach nen unique index auf die spalte setzen und dann einfach alles an die datenbank weiter reichen

$a = array("bplaced.net", "bplaced.net", "google.com", "google.com"); foreach($a as $value) { mysql_query("insert into tab (domain) VALUES ('". $value ."')"); }

lg flo

das hab ich auch gemacht, aber jetzt springt der bei den ids (primary key) immer um 300 :stuck_out_tongue: