ฟังก์ชัน fscanf() ใช้ อ่านและแยกข้อมูลจากไฟล์ที่เปิดอยู่ ตามรูปแบบ (format) ที่กำหนด คล้าย sscanf() แต่ทำงานกับไฟล์ ส่งคืนอาร์เรย์ค่าที่แยกได้ (หากส่งพารามิเตอร์ 2 ตัว) หรือจำนวนค่าที่แยกได้ (หากมีพารามิเตอร์ mixed)
ไวยากรณ์ (Syntax)
fscanf(file_pointer, format, mixed)
พารามิเตอร์ (Parameters)
file_pointer − ไฟล์พอยน์เตอร์จาก fopen()
format − รูปแบบการแยกข้อมูล:
%%- ตัวอักษร %%b- เลขฐานสอง%c- ตัวอักษรจาก ASCII%f- ทศนิยม%F- ทศนิยม (locale-independent)%o- เลขฐานแปด%s- สตริง%d- เลขฐานสิบมีเครื่องหมาย%e- สัญลักษณ์วิทยาศาสตร์%u- เลขฐานสิบไม่มีเครื่องหมาย%x- เลขฐานสิบหกตัวพิมพ์เล็ก%X- เลขฐานสิบหกตัวพิมพ์ใหญ่
mixed − ตัวแปรรับค่า (ตัวเลือก)
ค่าที่ส่งคืน (Return Value)
ส่งคืนอาร์เรย์ค่าที่แยกได้ (ถ้าส่ง 2 พารามิเตอร์) หรือจำนวนค่าที่แยกได้ (ถ้ามี mixed)
ตัวอย่างการใช้งาน
<?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);
?>
ผลลัพธ์
Amit got rank 2