เขียนข้อความลงในไฟล์ข้อความชื่อ "test.txt":
<?php$number = 9;$str = "Beijing";$file = fopen("test.txt","w");echo fprintf($file,"มี %u ล้านจักรยานใน %s.", $หมายเลข,$str);?>รหัสข้างต้นจะส่งออก:
40ข้อความต่อไปนี้จะถูกเขียนลงในไฟล์ "test.txt":
มีจักรยาน 9 ล้านคันในกรุงปักกิ่งฟังก์ชัน fprintf() เขียนสตริงที่จัดรูปแบบแล้วไปยังเอาต์พุตสตรีมที่ระบุ (เช่น ไฟล์หรือฐานข้อมูล)
พารามิเตอร์ arg1, arg2, ++ จะถูกแทรกลงในสตริงหลักที่สัญลักษณ์เปอร์เซ็นต์ (%) ฟังก์ชั่นนี้ดำเนินการทีละขั้นตอน ที่เครื่องหมาย % แรก ให้แทรก arg1 ที่เครื่องหมาย % ที่สอง ให้แทรก arg2 และอื่นๆ
หมายเหตุ: หากมีสัญลักษณ์ % มากกว่าพารามิเตอร์ arg คุณต้องใช้ตัวยึดตำแหน่ง ตัวยึดตำแหน่งจะถูกแทรกหลังสัญลักษณ์ % และประกอบด้วยตัวเลขและ "$" ดูตัวอย่างที่ 2
เคล็ดลับ: ฟังก์ชั่นที่เกี่ยวข้อง: printf(), sprintf(), vprintf(), vsprintf() และ vfprintf()
fprintf( สตรีม, รูปแบบ, arg1, arg2, arg++ )
พารามิเตอร์ | อธิบาย |
---|---|
ลำธาร | ที่จำเป็น. ระบุตำแหน่งที่สตริงถูกเขียน/เอาต์พุต |
รูปแบบ | ที่จำเป็น. ระบุสตริงและวิธีการจัดรูปแบบตัวแปรภายใน ค่ารูปแบบที่เป็นไปได้: %% - ส่งกลับเครื่องหมายเปอร์เซ็นต์ % %b - เลขฐานสอง %c - อักขระที่สอดคล้องกับค่า ASCII %d - เลขทศนิยมที่มีเครื่องหมาย (ลบ, 0, บวก) %e - ใช้สัญลักษณ์ทางวิทยาศาสตร์ตัวพิมพ์เล็ก (เช่น 1.2e+2) %E - ใช้สัญลักษณ์ทางวิทยาศาสตร์ตัวพิมพ์ใหญ่ (เช่น 1.2E+2) %u - เลขทศนิยมที่ไม่มีเครื่องหมาย (มากกว่าหรือเท่ากับ 0) %f - จำนวนจุดลอยตัว (การตั้งค่าท้องถิ่น) %F - จำนวนจุดลอยตัว (การตั้งค่าที่ไม่ใช่เนทิฟ) %g - เวอร์ชันที่สั้นกว่าของ %e และ %f %G - %E และ %f สั้นกว่า %o - เลขฐานแปด %s - สตริง %x - เลขฐานสิบหก (ตัวพิมพ์เล็ก) %X - เลขฐานสิบหก (ตัวพิมพ์ใหญ่) ค่ารูปแบบเพิ่มเติม ต้องอยู่ระหว่าง % และตัวอักษร (เช่น %.2f): + (เพิ่ม + หรือ - หน้าตัวเลขเพื่อกำหนดเครื่องหมายของตัวเลข โดยค่าเริ่มต้น ระบบจะทำเครื่องหมายเฉพาะตัวเลขลบเท่านั้น และจะไม่ทำเครื่องหมายตัวเลขบวก) ' (ระบุสิ่งที่จะใช้เป็นช่องว่างภายใน โดยค่าเริ่มต้นคือการเว้นวรรค โดยจะต้องใช้ร่วมกับตัวระบุความกว้าง ตัวอย่างเช่น: %'x20s (ใช้ "x" เป็นช่องว่างภายใน)) - (ค่าตัวแปรการปรับด้านซ้าย) [0-9] (ระบุความกว้างต่ำสุดของค่าตัวแปร) .[0-9] (ระบุจำนวนตำแหน่งทศนิยมหรือความยาวสตริงสูงสุด) หมายเหตุ: หากใช้ค่ารูปแบบข้างต้นหลายค่า ต้องใช้ค่าเหล่านั้นตามลำดับด้านบนและไม่สามารถรบกวนได้ |
หาเรื่อง1 | ที่จำเป็น. ระบุพารามิเตอร์ที่จะแทรกที่เครื่องหมาย % แรกในสตริงรูปแบบ |
หาเรื่อง2 | ไม่จำเป็น. ระบุพารามิเตอร์ที่จะแทรกลงในสตริงรูปแบบที่เครื่องหมาย % ที่สอง |
หาเรื่อง++ | ไม่จำเป็น. ระบุพารามิเตอร์ที่จะแทรกลงในสตริงรูปแบบที่สัญลักษณ์ % ที่สาม สี่ ฯลฯ |
ค่าส่งคืน: | ส่งกลับความยาวของสตริงที่กำลังเขียน |
---|---|
เวอร์ชัน PHP: | 5+ |
เขียนข้อความลงในไฟล์:
<?php$number = 123;$file = fopen("test.txt","w");fprintf($file,"%f",$number);?>ข้อความต่อไปนี้จะถูกเขียนลงในไฟล์ "test.txt":
123.000000ใช้ตัวยึดตำแหน่ง:
<?php$number = 123;$file = fopen("test.txt","w");fprintf($file,"มีทศนิยม 2 ตำแหน่ง: %1$.2fn ไม่มีทศนิยม: %1$u",$number );?>ข้อความต่อไปนี้จะถูกเขียนลงในไฟล์ "test.txt":
มีทศนิยม 2 ตำแหน่ง : 123.00 ไม่มีทศนิยม : 123ใช้ printf() เพื่อแสดงค่ารูปแบบที่เป็นไปได้ทั้งหมด:
<?php$num1 = 123456789;$num2 = -123456789;$char = 50; // อักขระ ASCII 50 คือ 2// หมายเหตุ: ค่ารูปแบบ "%%" ส่งคืนเครื่องหมายเปอร์เซ็นต์ printf("%%b = %b <br>",$num1); // Binary numberprintf("%%c = %c <br>",$char); // ASCII Characterprintf("%%d = %d <br>",$num1); // พิมพ์เลขทศนิยมที่ลงนามแล้วf("%%d = %d <br>",$num2); // พิมพ์เลขทศนิยมที่ลงนามแล้ว("%%e = %e <br>",$num1); // สัญลักษณ์ทางวิทยาศาสตร์ (ตัวพิมพ์เล็ก)printf("%%E = %E <br>",$num1); // สัญลักษณ์ทางวิทยาศาสตร์ (ตัวพิมพ์ใหญ่)printf("%%u = %u <br>",$num1); // เลขทศนิยมที่ไม่ได้ลงนาม (บวก)printf("%%u = %u <br>",$num2); // ไม่ได้ลงนาม เลขทศนิยม (ลบ) printf("%%f = %f <br>",$num1); // ตัวเลขทศนิยม (ทราบการตั้งค่าท้องถิ่น)printf("%%F = %F <br>",$num1); // ตัวเลขทศนิยม (ไม่ทราบการตั้งค่าในตัวเครื่อง) printf("%%g = %g <br>",$num1); // สั้นกว่าของ %e และ %fprintf(" %%G = %G <br>",$num1); // สั้นกว่าของ %E และ %fprintf("%%o = %o <br>",$num1); // เลขฐานแปดพิมพ์f("%%s = %s <br>",$num1); // Stringprintf("%%x = %x <br>",$num1); // เลขฐานสิบหก (ตัวพิมพ์เล็ก)printf("%%X = %X <br >",$num1); // เลขฐานสิบหก (ตัวพิมพ์ใหญ่)printf("%%+d = %+d <br>",$num1); // ตัวระบุเครื่องหมาย (บวก)printf("%%+d = %+d <br>",$num2); // ตัวระบุเครื่องหมาย (ลบ)?>