ฟังก์ชัน fprintf
ฟังก์ชัน fprintf จัดรูปแบบสตริงตามเทมเพลตที่ระบุและเขียนผลลัพธ์ลงในสตรีมไฟล์ พารามิเตอร์แรกรับรีซอร์สไฟล์ พารามิเตอร์ที่สองรับสตริงรูปแบบ และพารามิเตอร์ถัดๆ ไปรับค่าสำหรับแทนที่ลงในเทมเพลต หากส่ง null แทนรีซอร์สไฟล์ ฟังก์ชันจะส่งคืนสตริงแทนการเขียนลงสตรีม
ในสตริงรูปแบบจะใช้สัญลักษณ์พิเศษ (ตัวระบุรูปแบบ) ซึ่งขึ้นต้นด้วยเครื่องหมาย % และควบคุมการจัดรูปแบบผลลัพธ์
ไวยากรณ์
fprintf(resource $handle, string $format, mixed ...$values): int|false
ตัวระบุรูปแบบ
| ตัวระบุ | คำอธิบาย |
|---|---|
%s |
สตริง |
%d |
จำนวนเต็มมีเครื่องหมาย (ทศนิยม) |
%u |
จำนวนเต็มไม่มีเครื่องหมาย (ทศนิยม) |
%f |
เลขทศนิยม (ขึ้นกับโลแคล) |
%F |
เลขทศนิยม (ไม่ขึ้นกับโลแคล) |
%c |
อักขระตามรหัส ASCII |
%x |
จำนวนเต็มในระบบเลขฐานสิบหก (ตัวพิมพ์เล็ก) |
%X |
จำนวนเต็มในระบบเลขฐานสิบหก (ตัวพิมพ์ใหญ่) |
%o |
จำนวนเต็มในระบบเลขฐานแปด |
%b |
จำนวนเต็มในระบบเลขฐานสอง |
%e |
สัญกรณ์วิทยาศาสตร์ (ตัวพิมพ์เล็ก) |
%E |
สัญกรณ์วิทยาศาสตร์ (ตัวพิมพ์ใหญ่) |
%g |
รูปแบบสั้นของ %e หรือ %f |
%G |
รูปแบบสั้นของ %E หรือ %F |
%% |
เครื่องหมายเปอร์เซ็นต์ |
ตัวอย่าง
การเขียนสตริงที่จัดรูปแบบลงในไฟล์:
<?php
$file = fopen('output.txt', 'w');
fprintf($file, "Name: %s, Age: %d", "John", 25);
fclose($file);
?>
เนื้อหาของไฟล์ output.txt:
'Name: John, Age: 25'
ตัวอย่าง
การใช้ตัวระบุรูปแบบต่าง ๆ:
<?php
$res = fopen('php://temp', 'w');
fprintf($res, "Float: %.2f, Hex: %x", 12.3456, 255);
rewind($res);
echo stream_get_contents($res);
fclose($res);
?>
ผลลัพธ์จากการรันโค้ด:
'Float: 12.35, Hex: ff'
ตัวอย่าง
การส่งคืนสตริงแทนการเขียนลงไฟล์:
<?php
$result = sprintf("Today is %s", date('Y-m-d'));
echo $result;
?>
ผลลัพธ์จากการรันโค้ด:
'Today is 2023-11-15'
ดูเพิ่มเติม
-
ฟังก์ชัน
sprintf,
ซึ่งส่งคืนสตริงที่จัดรูปแบบ -
ฟังก์ชัน
vprintf,
ซึ่งแสดงผลสตริงที่จัดรูปแบบ -
ฟังก์ชัน
file_put_contents,
ซึ่งเขียนข้อมูลลงในไฟล์