Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> PHP

Hàm fscanf() trong PHP


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.