PHP printf() 函數
實例
輸出格式化的字符串:
<?php $number = 9; $str = "北京"; printf("在%s有 ꔴ自行車。",$str,$number); ?>
定義和用法
printf() 函數輸出格式化的字符串。
arg1、arg2、arg++ 參數將被插入到主字符串中的百分號(%)符號處。該函數是逐漸执行的。在第一個 % 符號處,插入 arg1,在第二個 % 符號處,插入 arg2,依此類推。
หมายเหตุ:如果 % 符號多於 arg 參數,則您必須使用佔位符。佔位符被插入到 % 符號之後,由數字和 "\$" 組成。請參見例子 2。
提示:相關函數:sprintf()、 vprintf()、 vsprintf()、 fprintf() 和 vfprintf()
語法
printf(format,arg1,arg2,arg++)
參數 | 描述 |
---|---|
format |
必需。規定字符串以及如何格式化其中的變量。 可能的格式值:
附加的格式值。必需放置在 % 和字母之間(例如 %.2f):
หมายเหตุ:ถ้าใช้ค่ารูปแบบหลายตัวของที่กล่าวข้างต้น ต้องใช้ตามลำดับที่กล่าวข้างต้น และไม่ควรที่จะเปลี่ยนลำดับ |
arg1 | จำเป็น. กำหนดให้แทนที่โดย format ตัวแปรที่อยู่ในตำแหน่ง % 符ที่แรกของตัวคำ |
arg2 | จำเป็น. กำหนดให้แทนที่โดย format ตัวแปรที่อยู่ในตำแหน่ง % 符ที่ที่สองของตัวคำ |
arg++ | เลือกใช้. กำหนดให้แทนที่โดย format ตัวแปรที่อยู่ในตำแหน่ง % 符ที่ที่สาม, สี่ และอื่นๆ ของตัวคำ |
รายละเอียดเทคนิค
ค่าที่คืนค่า: | คืนค่าความยาวของตัวอักษรที่ถูกออก |
PHP รุ่น: | 4+ |
ตัวอย่างเพิ่มเติม
ตัวอย่าง 1
ใช้ค่ารูปแบบ %f:
<?php $number = 123; printf("%f",$number); ?>
ตัวอย่าง 2
ใช้ตัวอย่าง
<?php $number = 123; printf("มีสองตัวอักษรของจำนวนเล็กน้อย:%1\$.2f<br>ไม่มีตัวอักษรของจำนวน:%1\$u",$number); ?>
ตัวอย่าง 3
การแสดงสำหรับค่ารูปแบบทั้งหมด:
<?php $num1 = 123456789; $num2 = -123456789; $char = 50; // อักษร ASCII 50 คือ 2 // หมายเหตุ: ค่ารูปแบบ "%%" คืนค่าเป็นสัญญาณเซ็นติเมนต์ printf("%%b = %b <br>",$num1); // ตัวเลขเลขฐาน2 printf("%%c = %c <br>",$char); // อักษร ASCII printf("%%d = %d <br>",$num1); // ตัวเลขเลขฐาน10ที่มีสัญญาณ printf("%%d = %d <br>",$num2); // ตัวเลขเลขฐาน10ที่มีสัญญาณ printf("%%e = %e <br>",$num1); // ตัวเลขเลขฐาน10ที่เป็นสัญญาณเลขวิทยา (เล็ก) printf("%%E = %E <br>",$num1); // ตัวเลขเลขฐาน10ที่เป็นสัญญาณเลขวิทยา (ใหญ่) printf("%鑾u <br>",$num1); // ตัวเลขเลขฐาน10ที่ไม่มีสัญญาณ (บวก) printf("%鑾u <br>",$num2); // ตัวเลขเลขฐาน10ที่ไม่มีสัญญาณ (ลบ) printf("%%f = %f <br>",$num1); // ตัวเลขจำนวนเป็นจำนวนที่มีค่าท้องถิ่น printf("%%F = %F <br>",$num1); // ตัวเลขจำนวนเป็นจำนวนเป็นจำนวนที่ไม่ถือเป็นการตั้งค่าท้องถิ่น printf("%%g = %g <br>",$num1); // ขยายเท่ากับ %e และ %f printf("%%G = %G <br>", $num1); // สั้นกว่า %E และ %f printf("%%o = %o <br>", $num1); // ตัวเลขแปดตำแหน่ง printf("%%s = %s <br>", $num1); // ตัวอักษร printf("%%x = %x <br>", $num1); // ตัวเลขสิบหก (เล็ก) printf("%%X = %X <br>", $num1); // ตัวเลขสิบหก (ใหญ่) printf("%%+d = %+d <br>", $num1); // สัญญาณนำหน้า (บวก) printf("%%+d = %+d <br>", $num2); // สัญญาณนำหน้า (ลบ) ?>
ตัวอย่าง 4
การแสดงตัวของสัญญาณตัวอักษร
<?php $str1 = "Hello"; $str2 = "Hello world!"; printf("[%s]<br>", $str1); printf("[%8s]<br>", $str1); printf("[%-8s]<br>", $str1); printf("[%08s]<br>", $str1); printf("[%'*8s]<br>", $str1); printf("[%8.8s]<br>", $str2); ?>