ฟังก์ชัน vsprintf
ฟังก์ชัน vsprintf เหมือนกับ sprintf แต่รับอาร์กิวเมนต์ในรูปแบบอาร์เรย์
แทนที่จะเป็นตัวแปรจำนวนพารามิเตอร์ พารามิเตอร์แรกคือสตริงเทมเพลตที่มี
ตัวระบุรูปแบบ พารามิเตอร์ที่สองคืออาร์เรย์ของค่าสำหรับแทนที่ ในสตริงรูปแบบจะใช้ตัวอักษรพิเศษ (ตัวระบุรูปแบบ) ซึ่งเริ่มต้นด้วยเครื่องหมาย % และควบคุมการจัดรูปแบบผลลัพธ์
ไวยากรณ์
vsprintf(string $format, array $args);
ตัวระบุรูปแบบ
| ตัวระบุ | คำอธิบาย |
|---|---|
%s |
สตริง |
%d |
จำนวนเต็มมีเครื่องหมาย (ทศนิยม) |
%u |
จำนวนเต็มไม่มีเครื่องหมาย (ทศนิยม) |
%f |
จำนวนทศนิยม (ขึ้นกับโลคาล) |
%F |
จำนวนทศนิยม (ไม่ขึ้นกับโลคาล) |
%c |
อักขระตามรหัส ASCII |
%x |
จำนวนเต็มในระบบเลขฐานสิบหก (ตัวพิมพ์เล็ก) |
%X |
จำนวนเต็มในระบบเลขฐานสิบหก (ตัวพิมพ์ใหญ่) |
%o |
จำนวนเต็มในระบบเลขฐานแปด |
%b |
จำนวนเต็มในระบบเลขฐานสอง |
%e |
สัญกรณ์วิทยาศาสตร์ (ตัวพิมพ์เล็ก) |
%E |
สัญกรณ์วิทยาศาสตร์ (ตัวพิมพ์ใหญ่) |
%g |
รูปแบบสั้นของ %e หรือ %f |
%G |
รูปแบบสั้นของ %E หรือ %F |
%% |
เครื่องหมายเปอร์เซ็นต์ |
ตัวอย่าง
ตัวอย่างพื้นฐานของการจัดรูปแบบสตริงพร้อมการแทนที่ค่า:
<?php
$res = vsprintf('Hello %s! Today is %s.', ['John', 'Monday']);
echo $res;
?>
ผลลัพธ์จากการทำงานของโค้ด:
'Hello John! Today is Monday.'
ตัวอย่าง
การใช้ตัวระบุรูปแบบที่ต่างกัน:
<?php
$res = vsprintf('%04d-%02d-%02d', [2023, 5, 12]);
echo $res;
?>
ผลลัพธ์จากการทำงานของโค้ด:
'2023-05-12'
ตัวอย่าง
การทำงานกับจำนวนทศนิยม:
<?php
$res = vsprintf('Price: $%.2f', [19.99]);
echo $res;
?>
ผลลัพธ์จากการทำงานของโค้ด:
'Price: $19.99'