Hàm vsprintf() của PHP
Ví dụ
Viết một chuỗi được định dạng vào một biến:
<?php
$number = 9;
$str = "Beijing";
$txt = vsprintf("There are %u million bicycles in %s.",array($number,$str));
echo $txt;
?>
Hãy tự mình thử »Định nghĩa và cách sử dụng
Hàm vsprintf() ghi một chuỗi được định dạng vào một biến.
Không giống như sprintf(), các đối số trong vsprintf() được đặt trong một mảng. Các phần tử mảng sẽ được chèn vào 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, phần tử mảng đầu tiên được chèn, ở dấu % thứ hai, phần tử mảng thứ hai đượ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 phần giữ chỗ. Một trình giữ chỗ được chèn sau dấu % và bao gồm số đối số và "\$". Xem ví dụ hai.
Mẹo: Các hàm liên quan: fprintf() , vfprintf() , printf() , sprintf() và vprintf() .
Cú pháp
vsprintf( format,argarray )
Giá trị tham số
Parameter | Description |
---|---|
format | Required. Specifies the string and how to format the variables in it. Possible format values:
Additional format values. These are placed between the % and the letter (example %.2f):
Note: If multiple additional format values are used, they must be in the same order as above. |
argarray | Required. An array with arguments to be inserted at the % signs in the format string |
Chi tiết kỹ thuật
Giá trị trả về: | Trả về giá trị mảng dưới dạng chuỗi được định dạng |
---|---|
Phiên bản PHP: | 4.1.0+ |
Thêm ví dụ
Ví dụ
Sử dụng giá trị định dạng %f:
<?php
$num1 = 123;
$num2 = 456;
$txt = vsprintf("%f%f",array($num1,$num2));
echo $txt;
?>
Hãy tự mình thử »Ví dụ
Sử dụng phần giữ chỗ:
<?php
$number = 123;
$txt = vsprintf("With 2 decimals: %1\$.2f
<br>With no decimals: %1\$u",array($number));
echo $txt;
?>
Hãy tự mình thử »Ví dụ
Sử dụng sprintf() để thể hiện tất cả các giá trị định dạng có thể có:
<?php
$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)."<br>"; // Binary number
echo sprintf("%%c = %c",$char)."<br>"; // The ASCII Character
echo sprintf("%%d = %d",$num1)."<br>"; // Signed decimal number
echo sprintf("%%d = %d",$num2)."<br>"; // Signed decimal number
echo sprintf("%%e = %e",$num1)."<br>"; // Scientific notation (lowercase)
echo sprintf("%%E = %E",$num1)."<br>"; // Scientific notation (uppercase)
echo sprintf("%%u = %u",$num1)."<br>"; // Unsigned decimal number (positive)
echo sprintf("%%u = %u",$num2)."<br>"; // Unsigned decimal number (negative)
echo sprintf("%%f = %f",$num1)."<br>"; // Floating-point number (local settings aware)
echo sprintf("%%F = %F",$num1)."<br>"; // Floating-point number (not local sett aware)
echo sprintf("%%g = %g",$num1)."<br>"; // Shorter of %e and %f
echo sprintf("%%G = %G",$num1)."<br>"; // Shorter of %E and %f
echo sprintf("%%o = %o",$num1)."<br>"; // Octal number
echo sprintf("%%s = %s",$num1)."<br>"; // String
echo sprintf("%%x = %x",$num1)."<br>"; // Hexadecimal number (lowercase)
echo sprintf("%%X = %X",$num1)."<br>"; // Hexadecimal number (uppercase)
echo sprintf("%%+d = %+d",$num1)."<br>"; // Sign specifier (positive)
echo sprintf("%%+d = %+d",$num2)."<br>"; // Sign specifier (negative)
?>
Hãy tự mình thử »Ví dụ
Một cuộc trình diễn của các công cụ xác định chuỗi:
<?php
$str1 = "Hello";
$str2 = "Hello world!";
echo vsprintf("[%s]",array($str1))."<br>";
echo vsprintf("[%8s]",array($str1))."<br>";
echo vsprintf("[%-8s]",array($str1))."<br>";
echo vsprintf("[%08s]",array($str1))."<br>";
echo vsprintf("[%'*8s]",array($str1))."<br>";
echo vsprintf("[%8.8s]",array($str2))."<br>";
?>
Hãy tự mình thử »❮ Tham chiếu chuỗi PHP