Hàm sprintf() của PHP
Mẫu
Thay thế dấu phẩy (%%) bằng một biến được truyền làm tham số:
<?php $number = 2; $str = "Shanghai"; $txt = sprintf("Có 탢ệu xe trong %s.",$number,$str); echo $txt; ?>
Định nghĩa và cách sử dụng
Hàm sprintf() ghi chuỗi định dạng vào biến.
arg1、arg2、++ 参 số sẽ được chèn vào ký hiệu (%) của chuỗi chính. Hàm này được thực hiện theo từng bước. Tại ký hiệu % thứ nhất, chèn arg1,tại ký hiệu % thứ hai, chèn arg2,tiếp theo.
Chú thích:Nếu ký hiệu % nhiều hơn arg Nếu có tham số, bạn phải sử dụng占位符. Các ký hiệu đặt vị trí nằm sau dấu %, được组成 bởi số và "\$". Xem ví dụ 2.
Lưu ý:Các hàm liên quan: printf()、 vprintf()、 vsprintf()、 fprintf() và vfprintf()
Cú pháp
sprintf(format,arg1,arg2,arg++)
Tham số | Mô tả |
---|---|
format |
bắt buộc. Quy định chuỗi và cách định dạng các biến trong đó. Giá trị định dạng có thể:
Giá trị định dạng bổ sung. Bắt buộc phải đặt giữa % và chữ cái (ví dụ %.2f):
Chú thích:Nếu sử dụng nhiều giá trị định dạng trên, chúng phải được sử dụng theo thứ tự trên. |
arg1 | bắt buộc. Quy định chèn vào format 参 số ở ký hiệu % thứ nhất của chuỗi. |
arg2 | tùy chọn. Quy định chèn vào format 参 số ở ký hiệu % thứ hai của chuỗi. |
arg++ | tùy chọn. Quy định chèn vào format 参 số ở ký hiệu % thứ ba, bốn của chuỗi. |
Chi tiết kỹ thuật
Giá trị trả về: | Trả về chuỗi đã định dạng. |
Phiên bản PHP: | 4+ |
Các ví dụ khác
Ví dụ 1
Sử dụng giá trị định dạng %f:
<?php $number = 123; $txt = sprintf("%f",$number); echo $txt; ?>
Ví dụ 2
Sử dụng định dạng:
<?php $number = 123; $txt = sprintf("Có hai số thập phân:%1\$.2f <br>Không có số thập phân: %1\$u",$number); echo $txt; ?>
Ví dụ 3
Giải thích về tất cả các giá trị định dạng có thể
<?php $num1 = 123456789; $num2 = -123456789; $char = 50; // Ký tự ASCII 50 là 2 // Ghi chú: giá trị định dạng "%%" trả về dấu phẩy% echo sprintf("%%b = %b",$num1)."<br>"; // số nhị phân echo sprintf("%%c = %c",$char)."<br>"; // ký tự ASCII echo sprintf("%%d = %d",$num1)."<br>"; // số nguyên có dấu echo sprintf("%%d = %d",$num2)."<br>"; // số nguyên có dấu echo sprintf("%%e = %e",$num1)."<br>"; // số học (chữ thường) echo sprintf("%%E = %E",$num1)."<br>"; // số học (chữ hoa) echo sprintf("%鑾u",$num1)."<br>"; // số nguyên không dấu (dương) echo sprintf("%鑾u",$num2)."<br>"; // số nguyên không dấu (âm) echo sprintf("%%f = %f",$num1)."<br>"; // số thập phân (xem cài đặt địa phương) echo sprintf("%%F = %F",$num1)."<br>"; // số thập phân (không xem cài đặt địa phương) echo sprintf("%%g = %g",$num1)."<br>"; // ngắn hơn %e và %f echo sprintf("%%G = %G",$num1)."<br>"; // ngắn hơn %E và %f echo sprintf("%%o = %o",$num1)."<br>"; // số tám echo sprintf("%%s = %s",$num1)."<br>"; // Chuỗi echo sprintf("%%x = %x",$num1)."<br>"; // Số hexa (chữ thường) echo sprintf("%%X = %X",$num1)."<br>"; // Số hexa (chữ hoa) echo sprintf("%%+d = %+d",$num1)."<br>"; // Ký hiệu chỉ số (dương) echo sprintf("%%+d = %+d",$num2)."<br>"; // Ký hiệu chỉ số (âm) ?>
Ví dụ 4
Giải thích về ký hiệu chuỗi:
<?php $str1 = "Hello"; $str2 = "Hello world!"; echo sprintf("[%s]",$str1)."<br>"; echo sprintf("[%8s]",$str1)."<br>"; echo sprintf("[%-8s]",$str1)."<br>"; echo sprintf("[%08s]",$str1)."<br>"; echo sprintf("[%'*8s]",$str1)."<br>"; echo sprintf("[%8.8s]",$str2)."<br>"; ?>