PHP printf() 函數

實例

輸出格式化的字符串:

<?php
$number = 9;
$str = "北京";
printf("在%s有 ꔴ自行車。",$str,$number);
?>

สามารถปฏิบัติงานได้

定義和用法

printf() 函數輸出格式化的字符串。

arg1arg2arg++ 參數將被插入到主字符串中的百分號(%)符號處。該函數是逐漸执行的。在第一個 % 符號處,插入 arg1,在第二個 % 符號處,插入 arg2,依此類推。

หมายเหตุ:如果 % 符號多於 arg 參數,則您必須使用佔位符。佔位符被插入到 % 符號之後,由數字和 "\$" 組成。請參見例子 2。

提示:相關函數:sprintf()、 vprintf()、 vsprintf()、 fprintf() 和 vfprintf()

語法

printf(format,arg1,arg2,arg++)
參數 描述
format

必需。規定字符串以及如何格式化其中的變量。

可能的格式值:

  • %% - 返回一個百分號 %
  • %b - 二進制數
  • %c - ASCII 值對應的字符
  • %d - 包含正負號的十進制數(負數、0、正數)
  • %e - 使用小寫的科學計數法(例如 1.2e+2)
  • %E - 使用大寫的科學計數法(例如 1.2E+2)
  • 퉦包含正負號的十進制數(大於等於 0)
  • %f - 浮點數(本地設置)
  • %F - 浮點數(非本地設置)
  • %g - 短的 %e 和 %f
  • %G - 短的 %E 和 %f
  • %o - 八進制數
  • %s - 字符串
  • %x - 十六進制數(小寫字母)
  • %X - 十六進制數(大寫字母)

附加的格式值。必需放置在 % 和字母之間(例如 %.2f):

  • + (在數字前面加上 + 或 - 來定義數字的正負性。默認地,只有負數做標記,正數不做標記)
  • (規定使用什麼作為填充,默認是空格。它必須與寬度指定器一起使用。)
  • - (ฝังตัวแปรที่มีค่าเล็ก)
  • .[0-9] (กำหนดความกว้างของตัวเลข)
  • .[0-9] (กำหนดจำนวนที่แสดงของตัวเลขเล็กน้อยหรือความยาวของตัวคำ)

หมายเหตุ:ถ้าใช้ค่ารูปแบบหลายตัวของที่กล่าวข้างต้น ต้องใช้ตามลำดับที่กล่าวข้างต้น และไม่ควรที่จะเปลี่ยนลำดับ

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);
?>

สามารถปฏิบัติงานได้