ตัวอย่าง
เขียนข้อความบางส่วนไปยังแฟ้มข้อความที่มีชื่อว่า "test.txt" :
<?php
$number = 9;
$str = "Beijing";
$file = fopen("test.txt","w");
echo fprintf($file,"There are %u million bicycles in %s.",$number,$str);
?>
การส่งออกของโค้ดข้างต้นจะได้รับ:
40
ข้อความต่อไปนี้จะถูกเขียนไปยังแฟ้ม "test.txt" :
There are 9 million bicycles in Beijing.
ความหมายและการใช้งาน
fprintf() ฟังก์ชั่นเขียนสตริงจัดรูปแบบให้กระแสขาออกที่ระบุ (example: file or database)
arg1, arg2 ++ พารามิเตอร์จะถูกแทรกที่ร้อยละ (%) สัญญาณในสตริงหลัก ฟังก์ชั่นนี้ทำงาน "step-by-step" ที่สัญญาณ% แรก arg1 ถูกแทรกที่สัญญาณ% สอง arg2 ถูกแทรก ฯลฯ
Note: หากมีสัญญาณ% มากขึ้นกว่าข้อโต้แย้งคุณต้องใช้ตัวยึด ตัวยึดจะถูกแทรกหลังเครื่องหมาย% และประกอบด้วยจำนวน argument- และ "\$" ดูตัวอย่างสอง
Tip: ที่เกี่ยวข้องกับฟังก์ชั่น: printf() , sprintf() , vprintf() , vsprintf() และ vfprintf()
วากยสัมพันธ์
fprintf( stream,format,arg1,arg2,arg++ )
พารามิเตอร์ | ลักษณะ |
---|---|
stream | จำเป็นต้องใช้ ระบุตำแหน่งที่จะเขียน / เอาต์พุตสตริง |
format | จำเป็นต้องใช้ ระบุสตริงและวิธีการจัดรูปแบบตัวแปรในนั้น ค่ารูปแบบที่เป็นไปได้:
ค่ารูปแบบเพิ่มเติม เหล่านี้จะอยู่ระหว่าง% และตัวอักษร (example %.2f) :
Note: หากค่ารูปแบบเพิ่มเติมหลายจะใช้พวกเขาจะต้องอยู่ในลำดับเดียวกับที่ดังกล่าวข้างต้น |
arg1 | จำเป็นต้องใช้ อาร์กิวเมนต์ที่จะถูกแทรกที่ลงชื่อ% เป็นครั้งแรกในรูปแบบของสตริง |
arg2 | ไม่จำเป็น. อาร์กิวเมนต์ที่จะถูกแทรกที่ลงชื่อ% ที่สองในรูปแบบของสตริง |
arg++ | ไม่จำเป็น. อาร์กิวเมนต์ที่จะถูกแทรกที่สามสี่ ฯลฯ % ลงชื่อในสตริงรูปแบบ |
รายละเอียดทางเทคนิค
กลับค่า: | ส่งกลับความยาวของสตริงที่เขียน |
---|---|
PHP เวอร์ชัน: | 5+ |
ตัวอย่างอื่น ๆ
ตัวอย่างที่ 1
เขียนข้อความบางส่วนไปยังแฟ้ม:
<?php
$number = 123;
$file = fopen("test.txt","w");
fprintf($file,"%f",$number);
?>
ข้อความต่อไปนี้จะถูกเขียนไปยังแฟ้ม "test.txt" :
123.000000
ตัวอย่างที่ 2
ใช้ตัวยึดตำแหน่ง:
<?php
$number = 123;
$file = fopen("test.txt","w");
fprintf($file,"With 2 decimals: %1\$.2f
\nWith no decimals: %1\$u",$number);
?>
ข้อความต่อไปนี้จะถูกเขียนไปยังแฟ้ม "test.txt" :
With 2 decimals: 123.00
With no decimals: 123
ตัวอย่างที่ 3
ใช้ printf() แสดงให้เห็นถึงค่ารูปแบบที่เป็นไปได้ทั้งหมด:
<?php
$num1 = 123456789;
$num2 = -123456789;
$char = 50; // The
ASCII Character 50 is 2
// Note: The format value "%%" returns a
percent sign
printf("%%b = %b <br>",$num1); // Binary number
printf("%%c
= %c <br>",$char); // The ASCII Character
printf("%%d = %d <br>",$num1);
// Signed decimal number
printf("%%d = %d <br>",$num2); // Signed decimal
number
printf("%%e = %e <br>",$num1); // Scientific notation (lowercase)
printf("%%E = %E <br>",$num1); // Scientific notation (uppercase)
printf("%%u
= %u <br>",$num1); // Unsigned decimal number (positive)
printf("%%u = %u
<br>",$num2); // Unsigned decimal number (negative)
printf("%%f = %f <br>",$num1);
// Floating-point number (local settings aware)
printf("%%F = %F <br>",$num1);
// Floating-point number (not local settings aware)
printf("%%g = %g <br>",$num1);
// Shorter of %e and %f
printf("%%G = %G <br>",$num1); // Shorter of %E
and %f
printf("%%o = %o <br>",$num1); // Octal number
printf("%%s = %s
<br>",$num1); // String
printf("%%x = %x <br>",$num1); // Hexadecimal
number (lowercase)
printf("%%X = %X <br>",$num1); // Hexadecimal number
(uppercase)
printf("%%+d = %+d <br>",$num1); // Sign specifier (positive)
printf("%%+d = %+d <br>",$num2); // Sign specifier (negative)
?>
ตัวอย่างเช่นเรียกใช้» <PHP สตริงอ้างอิง