Läsa från fil
Läs in en hel fil som text eller rad för rad som en array.
Hela filen som en sträng
file_get_contents() läser hela filen och returnerar innehållet som en sträng.
Kontrollera först att filen finns med file_exists(), annars får du en varning.
Filen som en array
file() läser filen och returnerar en array med en rad per element. Det är oftast det du vill ha, eftersom du då kan använda alla array-funktioner.
FILE_IGNORE_NEW_LINES tar bort radbrytningen i slutet av varje rad.
Ändra och spara tillbaka
Ett vanligt mönster är att läsa in filen som en array, ändra arrayen och skriva tillbaka den:
unset($rader[4])tar bort ett element ur arrayen.implode("\n", $rader)slår ihop arrayen till en sträng med radbrytning mellan elementen.
implode() har en motsats: explode() delar upp en sträng till en array.
$delar = explode(";", "Anna;28;Malmö");
echo $delar[2]; // Malmö
Det är användbart när varje rad i filen innehåller flera värden.
Efter unset() finns det en lucka i numreringen. array_values($rader) numrerar om arrayen från 0.
Prova själv
- Ändra det sista exemplet så att den första raden tas bort i stället.
- Sortera raderna i bokstavsordning innan de skrivs tillbaka.
- Skriv ut bara de rader som innehåller bokstaven “a”. Tips: slå upp
str_contains()på php.net.