ฟังก์ชัน vsprintf

ฟังก์ชัน vsprintf เหมือนกับ sprintf แต่รับอาร์กิวเมนต์ในรูปแบบอาร์เรย์ แทนที่จะเป็นตัวแปรจำนวนพารามิเตอร์ พารามิเตอร์แรกคือสตริงเทมเพลตที่มี ตัวระบุรูปแบบ พารามิเตอร์ที่สองคืออาร์เรย์ของค่าสำหรับแทนที่ ในสตริงรูปแบบจะใช้ตัวอักษรพิเศษ (ตัวระบุรูปแบบ) ซึ่งเริ่มต้นด้วยเครื่องหมาย % และควบคุมการจัดรูปแบบผลลัพธ์

ไวยากรณ์

phpvsprintf(string $format, array $args);

ตัวระบุรูปแบบ

ตัวระบุ คำอธิบาย
%s สตริง
%d จำนวนเต็มมีเครื่องหมาย (ทศนิยม)
%u จำนวนเต็มไม่มีเครื่องหมาย (ทศนิยม)
%f จำนวนทศนิยม (ขึ้นกับโลคาล)
%F จำนวนทศนิยม (ไม่ขึ้นกับโลคาล)
%c อักขระตามรหัส ASCII
%x จำนวนเต็มในระบบเลขฐานสิบหก (ตัวพิมพ์เล็ก)
%X จำนวนเต็มในระบบเลขฐานสิบหก (ตัวพิมพ์ใหญ่)
%o จำนวนเต็มในระบบเลขฐานแปด
%b จำนวนเต็มในระบบเลขฐานสอง
%e สัญกรณ์วิทยาศาสตร์ (ตัวพิมพ์เล็ก)
%E สัญกรณ์วิทยาศาสตร์ (ตัวพิมพ์ใหญ่)
%g รูปแบบสั้นของ %e หรือ %f
%G รูปแบบสั้นของ %E หรือ %F
%% เครื่องหมายเปอร์เซ็นต์

ตัวอย่าง

ตัวอย่างพื้นฐานของการจัดรูปแบบสตริงพร้อมการแทนที่ค่า:

php<?php
  $res = vsprintf('Hello %s! Today is %s.', ['John', 'Monday']);
  echo $res;
?>

ผลลัพธ์จากการทำงานของโค้ด:

php'Hello John! Today is Monday.'

ตัวอย่าง

การใช้ตัวระบุรูปแบบที่ต่างกัน:

php<?php
  $res = vsprintf('%04d-%02d-%02d', [2023, 5, 12]);
  echo $res;
?>

ผลลัพธ์จากการทำงานของโค้ด:

php'2023-05-12'

ตัวอย่าง

การทำงานกับจำนวนทศนิยม:

php<?php
  $res = vsprintf('Price: $%.2f', [19.99]);
  echo $res;
?>

ผลลัพธ์จากการทำงานของโค้ด:

php'Price: $19.99'

ดูเพิ่มเติม

  • ฟังก์ชัน sprintf,
    ซึ่งจัดรูปแบบสตริงด้วยจำนวนอาร์กิวเมนต์ที่แปรผัน
  • ฟังก์ชัน printf,
    ซึ่งแสดงผลสตริงที่จัดรูปแบบแล้ว