เขียนข้อความลงในไฟล์ข้อความชื่อ "test.txt":
<?php$number = 9;$str = "Beijing";$file = fopen("test.txt","w");echo vfprintf($file,"มี %u ล้านจักรยานใน %s.", อาร์เรย์($หมายเลข,$str));?>รหัสข้างต้นจะส่งออก:
40ข้อความต่อไปนี้จะถูกเขียนลงในไฟล์ "test.txt":
มีจักรยาน 9 ล้านคันในกรุงปักกิ่งฟังก์ชัน vfprintf() เขียนสตริงที่จัดรูปแบบแล้วไปยังเอาต์พุตสตรีมที่ระบุ (เช่น ไฟล์หรือฐานข้อมูล)
ต่างจาก fprintf() ตรงที่พารามิเตอร์ใน vfprintf() อยู่ในอาร์เรย์ องค์ประกอบอาร์เรย์จะถูกแทรกลงในสตริงหลักที่เครื่องหมายเปอร์เซ็นต์ (%) ฟังก์ชั่นนี้ดำเนินการทีละขั้นตอน ที่เครื่องหมาย % แรก องค์ประกอบอาร์เรย์แรกจะถูกแทรก ที่เครื่องหมาย % ที่สอง องค์ประกอบอาร์เรย์ที่สองจะถูกแทรก และอื่นๆ
หมายเหตุ: หากมีสัญลักษณ์ % มากกว่าพารามิเตอร์ arg คุณต้องใช้ตัวยึดตำแหน่ง ตัวยึดตำแหน่งจะถูกแทรกหลังสัญลักษณ์ % และประกอบด้วยตัวเลขและ "$" ดูตัวอย่างที่ 2
เคล็ดลับ: ฟังก์ชั่นที่เกี่ยวข้อง: fprintf(), printf(), sprintf(), vprintf() และ vsprintf()
vfprintf ( สตรีม รูปแบบ อาเรย์ )
พารามิเตอร์ | อธิบาย |
---|---|
ลำธาร | ที่จำเป็น. ระบุตำแหน่งที่สตริงถูกเขียน/เอาต์พุต |
รูปแบบ | ที่จำเป็น. ระบุสตริงและวิธีการจัดรูปแบบตัวแปรภายใน ค่ารูปแบบที่เป็นไปได้: %% - ส่งกลับเครื่องหมายเปอร์เซ็นต์ % %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] (ระบุจำนวนตำแหน่งทศนิยมหรือความยาวสตริงสูงสุด) หมายเหตุ: หากใช้ค่ารูปแบบข้างต้นหลายค่า จะต้องใช้ค่าเหล่านั้นตามลำดับด้านบนและไม่สามารถรบกวนได้ |
อาร์การ์เรย์ | ที่จำเป็น. อาร์เรย์ที่มีพารามิเตอร์ที่จะแทรกลงในสตริงรูปแบบที่สัญลักษณ์ % |
ค่าส่งคืน: | ส่งกลับความยาวของสตริงที่กำลังเขียน |
---|---|
เวอร์ชัน PHP: | 5+ |
เขียนข้อความลงในไฟล์:
<?php$num1 = 123;$num2 = 456;$file = fopen("test.txt","w");vfprintf($file,"%f%f",array($num1,$num2)) ;?>ข้อความต่อไปนี้จะถูกเขียนลงในไฟล์ "test.txt":
123.000000456.000000ใช้ตัวยึดตำแหน่ง:
<?php$number = 123;$file = fopen("test.txt","w");vfprintf($file,"มีทศนิยม 2 ตำแหน่ง: %1$.2fn ไม่มีทศนิยม: %1$u",array( $หมายเลข));?>ข้อความต่อไปนี้จะถูกเขียนลงในไฟล์ "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); // ตัวระบุเครื่องหมาย (ลบ)?>