Hướng dẫn dùng sprintf trong PHP

❮ Tham chiếu chuỗi PHP

Thí dụ

Thay thế dấu phần trăm (%) bằng một biến được truyền dưới dạng đối số:

$number = 9;
$str = "Beijing";
$txt = sprintf("There are %u million bicycles in %s.",$number,$str);
echo $txt;
?>


Định nghĩa và Cách sử dụng

Hàm sprintf () ghi một chuỗi được định dạng vào một biến.

Các tham số arg1, arg2, ++ sẽ được chèn vào các dấu phần trăm (%) trong chuỗi chính. Chức năng này hoạt động "từng bước". Ở dấu% đầu tiên, arg1 được chèn, ở dấu% thứ hai, arg2 được chèn, v.v.

Lưu ý: Nếu có nhiều dấu% hơn đối số, bạn phải sử dụng trình giữ chỗ. Một trình giữ chỗ được chèn sau dấu% và bao gồm đối số- số và "\ $". Xem ví dụ hai.

Mẹo: Các hàm liên quan: printf () , vprintf () , vsprintf ( ) , fprintf ()vfprintf ()


Cú pháp

sprintf(format,arg1,arg2,arg++)

Giá trị tham số

ParameterDescription
format Required. Specifies the string and how to format the variables in it.

Possible format values:

  • %% - Returns a percent sign
  • %b - Binary number
  • %c - The character according to the ASCII value
  • %d - Signed decimal number (negative, zero or positive)
  • %e - Scientific notation using a lowercase (e.g. 1.2e+2)
  • %E - Scientific notation using a uppercase (e.g. 1.2E+2)
  • %u - Unsigned decimal number (equal to or greather than zero)
  • %f - Floating-point number (local settings aware)
  • %F - Floating-point number (not local settings aware)
  • %g - shorter of %e and %f
  • %G - shorter of %E and %f
  • %o - Octal number
  • %s - String
  • %x - Hexadecimal number (lowercase letters)
  • %X - Hexadecimal number (uppercase letters)

Additional format values. These are placed between the % and the letter (example %.2f):

  • + (Forces both + and - in front of numbers. By default, only negative numbers are marked)
  • ' (Specifies what to use as padding. Default is space. Must be used together with the width specifier. Example: %'x20s (this uses "x" as padding)
  • - (Left-justifies the variable value)
  • [0-9] (Specifies the minimum width held of to the variable value)
  • .[0-9] (Specifies the number of decimal digits or maximum string length)

Note: If multiple additional format values are used, they must be in the same order as above.

arg1 Required. The argument to be inserted at the first %-sign in the format string
arg2 Optional. The argument to be inserted at the second %-sign in the format string
arg++ Optional. The argument to be inserted at the third, fourth, etc. %-sign in the format string


Chi tiết kỹ thuật

Giá trị trả lại:Trả về chuỗi được định dạng
Phiên bản PHP:4+

Các ví dụ khác

Thí dụ

Sử dụng giá trị định dạng% f:

$number = 123;
$txt = sprintf("%f",$number);
echo $txt;
?>

Thí dụ

Sử dụng trình giữ chỗ:

$number = 123;
$txt = sprintf("With 2 decimals: %1\$.2f

With no decimals: %1\$u",$number);
echo $txt;
?>

Thí dụ

Trình diễn tất cả các giá trị định dạng có thể có:

$num1 = 123456789;
$num2 = -123456789;
$char = 50; // The ASCII Character 50 is 2

// Note: The format value "%%" returns a percent sign
echo sprintf("%%b = %b",$num1)."
"; // Binary number
echo sprintf("%%c = %c",$char)."
"; // The ASCII Character
echo sprintf("%%d = %d",$num1)."
"; // Signed decimal number
echo sprintf("%%d = %d",$num2)."
"; // Signed decimal number
echo sprintf("%%e = %e",$num1)."
"; // Scientific notation (lowercase)
echo sprintf("%%E = %E",$num1)."
"; // Scientific notation (uppercase)
echo sprintf("%%u = %u",$num1)."
"; // Unsigned decimal number (positive)
echo sprintf("%%u = %u",$num2)."
"; // Unsigned decimal number (negative)
echo sprintf("%%f = %f",$num1)."
"; // Floating-point number (local settings aware)
echo sprintf("%%F = %F",$num1)."
"; // Floating-point number (not local sett aware)
echo sprintf("%%g = %g",$num1)."
"; // Shorter of %e and %f
echo sprintf("%%G = %G",$num1)."
"; // Shorter of %E and %f
echo sprintf("%%o = %o",$num1)."
"; // Octal number
echo sprintf("%%s = %s",$num1)."
"; // String
echo sprintf("%%x = %x",$num1)."
"; // Hexadecimal number (lowercase)
echo sprintf("%%X = %X",$num1)."
"; // Hexadecimal number (uppercase)
echo sprintf("%%+d = %+d",$num1)."
"; // Sign specifier (positive)
echo sprintf("%%+d = %+d",$num2)."
"; // Sign specifier (negative)
?>

Thí dụ

Trình diễn về các chỉ định chuỗi:

$str1 = "Hello";
$str2 = "Hello world!";

echo sprintf("[%s]",$str1)."
";
echo sprintf("[%8s]",$str1)."
";
echo sprintf("[%-8s]",$str1)."
";
echo sprintf("[%08s]",$str1)."
";
echo sprintf("[%'*8s]",$str1)."
";
echo sprintf("[%8.8s]",$str2)."
";
?>


❮ Tham chiếu chuỗi PHP