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