Hàm fscanf() đọc và phân tích (parse) dữ liệu từ file mở theo định dạng (format) cho trước (giống scanf C). Trả về mảng giá trị đã parse nếu chỉ 2 tham số, hoặc số giá trị gán được nếu có tham số mixed.
Cú pháp
fscanf(file_pointer, format, ...vars)
Tham số
file_pointer – Con trỏ file từ fopen().
format – Chuỗi định dạng. Các placeholder chính:
- %d – Số nguyên có dấu
- %f – Số thực
- %s – Chuỗi
- %c – Ký tự
- %x/%X – Hex
- %o – Octal
- %b – Binary
- %e – Ký pháp khoa học
- %u – Số nguyên không dấu
...vars – Biến nhận giá trị (pass by reference). Tùy chọn.
Giá trị trả về
Nếu chỉ 2 tham số: trả về mảng giá trị parse. Nếu có vars: trả về số lượng giá trị gán được.
Ví dụ
<?php
$file_pointer = fopen("new.txt", "r");
while ($playerrank = fscanf($file_pointer, "%s\t%d\n")) {
list($name, $rank) = $playerrank;
echo "$name got rank $rank.";
}
fclose($file_pointer);
?>
Kết quả
Amit got rank 2
Lưu ý: fscanf() đọc từng dòng theo format. Whitespace trong format khớp bất kỳ whitespace nào.