PHP vsprintf() Function

Mga Halimbawa

Ilagay ang format ng string sa variable:

<?php
$number = 9;
$str = "Beijing";
$txt = vsprintf("Mayroon 쥕yong mga bisikleta sa %s.",array($number,$str));
echo $txt;
?>

Running Instances

Paglilinaw at Paggamit

Ang function na vsprintf() ay nagpapatupad ng format ng string sa variable.

Hindi katulad sa sprintf(), ang argumento sa vsprintf() ay nasa loob ng array. Ang mga elemento ng array ay ilalagay sa lugar ng simbolo ng porsyento (%) sa pangunahing string. Ang function na ito ay tumutugon sa bawat hakbang. Sa unang % simbolo, ilalagay ang unang elemento ng array, sa ikalawang % simbolo, ilalagay ang ikalawang elemento ng array, at ipinagpatuloy pa rin.

Komento:Kung mayroong % simbolo na mas marami arg Kung mayroong argumento, dapat gamitin ang placeholder. Ang placeholder ay kasama sa pagkatapos ng simbolo ng %, na binubuo ng numero at "\$". Tingnan ang halimbawa 2.

Mga payo:Mga kaugnay na function:

Syntax

vsprintf(format,argarray)
Mga argumento Paglalarawan
format

Mga kinakailangan. Tukuyin ang string at kung paano formatin ang mga variable nito.

Mga posibleng halaga ng format:

  • %% - ibabalik ang simbolo ng percentasyon %
  • %b - binary number
  • %c - character na katumbas ng ASCII
  • %d - decimal number na may simbolo ng positibong o negatibong katangian (mababa, 0, o positibo)
  • %e - gumamit ng katanungan sa scientific notation (halimbawa 1.2e+2)
  • %E - gumamit ng kapit-bukas sa scientific notation (halimbawa 1.2E+2)
  • 蒝ecimal number na walang simbolo ng positibong o negatibong katangian (mas mababa o katumbas ng 0)
  • %f - floating-point number (lokal na setting)
  • %F - floating-point number (walang lokal na setting)
  • %g - mas maikling %e at %f
  • %G - mas maikling %E at %f
  • %o - numero sa octal
  • %s - string
  • %x - numero sa heksadecimal (may pagbigkas na may katanungan)
  • %X - numero sa heksadecimal (may pagbigkas na may kapit-bukas)

Dagdag na halaga ng format. Dapat na ilagay sa gitna ng % at ang titik at palatandaan (halimbawa: %.2f):

  • + (magdagdag ng '+' o '-' sa harap ng numero upang tukuyin ang positibong o negatibong katangian ng numero. Ang default na halaga ay tanging ang negatibong numero na may marka, ang positibong numero ay walang marka)
  • ' (tutukoy kung anong gamitin bilang puno, default ay espasyo. Dapat na gamitin kasama ang tagapagpili ng lapad. Halimbawa: '%'x20s (gumamit ng 'x' bilang puno))
  • - (angkaran sa kanang bahagi ng halaga ng variable)
  • .[0-9] (tutukoy ang pinakamaliit na lapad ng halaga ng variable)
  • .[0-9] (tutukoy ang bilang ng desimal o pinakamataas na haba ng string)

Komento:Kung gumamit ng ilang mga halaga ng format na ito, dapat na gamitin ang mga ito ayon sa pagkakasunod-sunod na ito, huwag baguhin ang pagkakasunod-sunod.

argarray Mga kinakailangan. Isang array na may argumento, na magiging kasama sa format ang simbolo ng % sa string.

Teknikal na Detalye

Halaga ng Balaod: ibabalik ang halaga ng array sa pormat ng string.
Versyon ng PHP: 4.1.0+

Dagdag na mga halimbawa

Halimbawa 1

gumamit ng halaga ng format %f:

<?php
$num1 = 123;
$num2 = 456;
$txt = vsprintf("%f%f",array($num1,$num2));
echo $txt;
?>

Running Instances

例子 2

使用占位符:

<?php
$number = 123;
$txt = vsprintf("有两位小数:%1\$.2f<br>没有小数:%1\$u",array($number));
echo $txt;
?>

Running Instances

例子 3

使用 sprintf() 来演示所有可能的格式值:

<?php
$num1 = 123456789;
$num2 = -123456789;
$char = 50; // ASCII 字符 50 是 2
// 注释:格式值 "%%" 返回百分号
echo sprintf("%%b = %b",$num1)."<br>"; // 二进制数
echo sprintf("%%c = %c",$char)."<br>"; // ASCII 字符
echo sprintf("%%d = %d",$num1)."<br>"; // 带符号的十进制数
echo sprintf("%%d = %d",$num2)."<br>"; // 带符号的十进制数
echo sprintf("%%e = %e",$num1)."<br>"; // 科学计数法(小写)
echo sprintf("%%E = %E",$num1)."<br>"; // 科学计数法(大写)
echo sprintf("%鑾u",$num1)."<br>"; // 不带符号的十进制数(正)
echo sprintf("%鑾u",$num2)."<br>"; // 不带符号的十进制数(负)
echo sprintf("%%f = %f",$num1)."<br>"; // 浮点数(视本地设置)
echo sprintf("%%F = %F",$num1)."<br>"; // 浮点数(不视本地设置)
echo sprintf("%%g = %g",$num1)."<br>"; // 短于 %e 和 %f
echo sprintf("%%G = %G",$num1)."<br>"; // 短于 %E 和 %f
echo sprintf("%%o = %o",$num1)."<br>"; // 八进制数
echo sprintf("%%s = %s",$num1)."<br>"; // 字符串
echo sprintf("%%x = %x",$num1)."<br>"; // Hexadecimal Number (Lower Case)
echo sprintf("%%X = %X",$num1)."<br>"; // Hexadecimal Number (Upper Case)
echo sprintf("%%+d = %+d",$num1)."<br>"; // Positive Sign Identifier
echo sprintf("%%+d = %+d",$num2)."<br>"; // Negative Sign Identifier
?>

Running Instances

Example 4

Demonstration of String Identifiers:

<?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>";
?>

Running Instances