Hallo,
folgende Problemstellung:
eine CSV Datei mit folgendem Aufbau:
ArtNr. Name Beschreib.
39485 Ding Das ist ein Ding
68573 Nochn nochn Ding
68968 mehr mehr dinger
Solche eine CSV mit ähnlichem Aufbau existiert nochmal.
Wichtig sind jedoch nur die ArtNr. ich möchte nun die Datei 1
mit der Datei 2 vergleichen und eine Aktion ausführen wenn
ArtN. aus Datei 1 mir einer der ArtNr. aus Datei 2
übereinstimmt. wie kann ich das bewerkstelligen?
Hauptsächlichgeht es um den Vergleich.
Kommt darauf an, wie groß die Dateien sind. Wenn es vom Speicher her machbar ist, lade eine Datei in ein assoziatives Array und prüfe für jeden Eintrag der 2. Datei, ob die ArtNr existiert:
$f1=Array();
$F=fopen("file1.csv","r");
while(($d=fgetcsv($F, 1024))!==FALSE)
$f1[$d[0]] = $d;
flose($F);
$F=fopen("file2.csv","r");
while(($d=fgetcsv($F, 1024))!==FALSE)
if (isset($f1[$d[0])) { // tue was
}
flose($F);
Wird das vom Speicher her nichts, musst du für jeden Eintrag in file1 die zweite Datei neu einlesen, um diese nach der Nummer zu durchsuchen…
Alexander