Ce face fscanf
fscanf citește linia următoare și o interpretează după un șablon, ca sscanf: %s un cuvânt, %d un număr întreg, %f un număr cu zecimale. Valorile găsite sunt returnate într-un tablou sau puse în variabilele date după format.
Este potrivit pentru fișiere cu format fix, simplu. Pentru CSV folosește fgetcsv.
Parametri
| Parametru | Descriere |
|---|---|
$stream |
Resursa returnată de fopen. |
$format |
Șablonul liniei. |
$vars |
Opțional. Variabile în care se pun valorile găsite. |
Ce returnează
Un tablou cu valorile; cu variabile, numărul de valori găsite. La sfârșitul fișierului, false.
Exemple
Exemplul 1: Nume și vârstă pe fiecare linie
<?php
file_put_contents("persoane.txt", "Ana 25\nIon 40\n");
$f = fopen("persoane.txt", "r");
while ($date = fscanf($f, "%s %d")) {
[$nume, $varsta] = $date;
echo "$nume are $varsta de ani\n";
}
fclose($f);
Rezultat
Ana are 25 de ani
Ion are 40 de ani
Greșeli frecvente
- Folosești
%spentru un nume cu spații, de exemplu „Ana Maria”.%sse oprește la primul spațiu.