Hm, ich hab gerade ein kleines Problem:
Ich habe eine Textdatei. Dort stehen Zeilen wie z.B.:
Alles anzeigen
Ich hab eine Funktion, die eine neue Zeile einträgt. Ich will jetzt, dass die Funktion zuerst überprüft, ob es nicht schon eine Zeile gibt, die die gleichen Array-Keys hat wie die neue Zeile. Wenn das so ist, soll die neue nicht hinzugefügt, sondern die Alte durch die Neue ersetzt werden. Ich habs jetzt so, aber ich weiß, dass er immer den else-Block nimmt, obwohl gleiche Zeilen drin sind:
Ich habe eine Textdatei. Dort stehen Zeilen wie z.B.:
PHP-Quellcode
- <?php $ma[17][9] = 1; ?>
- <?php $ma[17][10] = 1; ?>
- <?php $ma[17][11] = 2; ?>
- <?php $ma[17][12] = 1; ?>
- <?php $ma[17][13] = 3; ?>
- <?php $ma[17][14] = 1; ?>
- <?php $ma[16][14] = 6; ?>
- <?php $ma[8][12] = 7; ?>
- <?php $ma[8][18] = 12; ?>
- <?php $ma[18][16] = 4; ?>
- <?php $ma[18][17] = 4; ?>
- <?php $ma[18][18] = 3; ?>
- <?php $ma[18][19] = 4; ?>
Ich hab eine Funktion, die eine neue Zeile einträgt. Ich will jetzt, dass die Funktion zuerst überprüft, ob es nicht schon eine Zeile gibt, die die gleichen Array-Keys hat wie die neue Zeile. Wenn das so ist, soll die neue nicht hinzugefügt, sondern die Alte durch die Neue ersetzt werden. Ich habs jetzt so, aber ich weiß, dass er immer den else-Block nimmt, obwohl gleiche Zeilen drin sind:
Quellcode
- $file = file_get_contents("dks/$_SESSION[raum]_t.txt");
- if(preg_match("/.*\$ma\[".$x."\][".$y."] = \d*;.*/",$file)) {
- $file = preg_replace("/\$ma\[$x\]\[$y\] = .*;/","\$ma[$x][$y] = $v;", $file);
- } else {
- $file .= "<?php \$ma[$x][$y] = $v; ?>";
- }
- $nf = fopen("file.txt","w");
- fwrite($nf, $file);
- fclose($nf);