คำอธิบาย
ฟังก์ชัน sprintf() ใช้สร้างสตริงที่จัดรูปแบบแล้วตามฟอร์แมตที่ระบุ คล้ายกับ printf() แต่คืนค่าสตริงแทนการพิมพ์ออกหน้าจอโดยตรง ฟังก์ชันนี้มีประโยชน์มากสำหรับการจัดรูปแบบตัวเลข วันที่ และข้อความ
รูปแบบการใช้งาน (Syntax)
sprintf(string $format, mixed ...$values): string
พารามิเตอร์
- format - สตริงฟอร์แมตที่ระบุวิธีจัดรูปแบบตัวแปร
- values - ค่าที่จะนำไปแทนที่ในฟอร์แมต
ตัวแปรฟอร์แมตที่ใช้ได้ (Format Specifiers)
- %% - เครื่องหมาย %
- %b - เลขฐานสอง (Binary)
- %c - ตัวอักษรตามค่า ASCII
- %d - เลขฐานสิบเครื่องหมาย (Signed decimal)
- %e - สัญกรณ์วิทยาศาสตร์ตัวพิมพ์เล็ก (1.2e+2)
- %E - สัญกรณ์วิทยาศาสตร์ตัวพิมพ์ใหญ่ (1.2E+2)
- %u - เลขฐานสิบไม่มีเครื่องหมาย (Unsigned decimal)
- %f - เลขทศนิยม (Floating-point) คำนึงถึง locale
- %F - เลขทศนิยม ไม่คำนึงถึง locale
- %g - รูปแบบสั้นกว่าระหว่าง %e และ %f
- %G - รูปแบบสั้นกว่าระหว่าง %E และ %f
- %o - เลขฐานแปด (Octal)
- %s - สตริง
- %x - เลขฐานสิบหกตัวพิมพ์เล็ก (Hexadecimal lowercase)
- %X - เลขฐานสิบหกตัวพิมพ์ใหญ่ (Hexadecimal uppercase)
ค่าที่คืนกลับ (Return Value)
คืนค่าสตริงที่จัดรูปแบบแล้ว
ตัวอย่างการใช้งาน
ตัวอย่างที่ 1 - จัดรูปแบบตัวเลขทศนิยม
<?php
$val = 299;
$txt = sprintf("%f", $val);
echo $txt;
?>ผลลัพธ์
299.000000
ตัวอย่างที่ 2 - หลายฟอร์แมตพร้อมกัน
<?php
$val = 768776;
$char = 95;
echo sprintf("%%b = %b", $val) . "
";
echo sprintf("%%c = %c", $char);
?>ผลลัพธ์
%b = 10111011101100001000 %c = _