PHP vsprintf() -funktio

Esimerkki

Kirjoita muotoiltava merkkijono muuttujaan:

<?php
$number = 9;
$str = "Beijing";
$txt = vsprintf("On 쥕joonaa pyörää %s.", array($number, $str));
echo $txt;
?>

Suoritettavat esimerkit

Määrittely ja käyttö

vsprintf() -funktio kirjoittaa muotoiltavan merkkijonon muuttujaan.

Eri tavoin sprintf() -funktioon, vsprintf() -funktiossa parametrit sijaitsevat taulukossa. Taulukon elementit lisätään päämerkkijonoon prosenttimerkin (%) kohdille. Tämä funktio suoritetaan vaiheittain. Ensimmäisessä % -merkin kohdalla lisätään ensimmäinen taulukon elementti, toisessa % -merkin kohdalla lisätään toinen taulukon elementti, ja niin edelleen.

Huomautus:Jos %-merkkiä on enemmän arg Jos parametreja on, sinun on käytettävä paikannusmerkkejä. Paikannusmerkit lisätään %-merkin jälkeen, ja ne koostuvat numerosta ja "\$"-merkistä. Katso esimerkki 2.

Vinkki:Liittyvät funktiot:

Syntaksi

vsprintf(Muotoilu,argarray)
Parametrit Kuvaus
Muotoilu

Välttämätön. Määrittää merkkijonon ja sen sisällä olevien muuttujien muotoilun.

Mahdolliset muotoiluarvot:

  • %% - Palauttaa prosenttimerkin %
  • %b - Binääriluku
  • %c - ASCII-arvon vastaava merkki
  • %d - Sisältää positiivisen tai negatiivisen merkin desimaalinen luku (miinusluku, 0, positiivinen luku)
  • %e - Käytä pientä tieteellistä muotoilua (esim. 1.2e+2)
  • %E - Käytä isoa tieteellistä muotoilua (esim. 1.2E+2)
  • 蒞rittämätön desimaalinen luku (suurempi tai yhtä suuri kuin 0)
  • %f - Liukuluku (paikallistettu)
  • %F - Liukuluku (ei paikallistettu)
  • %g - Lyhyempi %e ja %f
  • %G - Lyhyempi %E ja %f
  • %o - Oktaalinen luku
  • %s - Merkkijono
  • %x - Hexadesimaalinen luku (pienikirjaimet)
  • %X - Hexadesimaalinen luku (isokirjaimet)

Lisämuotoiluarvot. Välttämätöntä. Sijoitettava % ja kirjain välille (esim. %.2f):

  • + (lisää + tai - numeroa eteen, jotta määritellään numeron positiivisuus. Oletuksena vain negatiiviset luvut merkataan, positiiviset eivät)
  • ' (määrittää täytteen käytettäväksi, oletus on välilyönti. Se on käytettävä yhdessä leveyden määrittäjän kanssa. Esimerkiksi: '%x20s' (käyttää 'x' täytteenä))
  • - (vasen tasaus muuttujan arvolle)
  • .[0-9] (määrittää muuttujan arvon vähimmäisleveyden)
  • .[0-9] (määrittää desimaalipaikkojen määrän tai enimmäisen merkkijonon pituuden)

Huomautus:Jos käytetään useita yllä olevia muotoiluarvoja, ne on käytettävä yllä olevassa järjestyksessä eikä ne voida sekottaa.

argarray Välttämätön. Parametrit sisältävä taulukko, jotka lisätään Muotoilu Merkkijonon %-merkki sijainnissa.

Tekninen yksityiskohta

Palautusarvo: Palauttaa taulukon arvot muotoiltuna merkkijonona.
PHP-versio: 4.1.0+

Lisää esimerkkejä

Esimerkki 1

Käytä muotoiluarvoja %f:

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

Suoritettavat esimerkit

例子 2

使用占位符:

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

Suoritettavat esimerkit

例子 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>"; // Hexadesimaalinen numero (pieni)
echo sprintf("%%X = %X",$num1)."<br>"; // Hexadesimaalinen numero (iso)
echo sprintf("%%+d = %+d",$num1)."<br>"; // Merkki符号说明符(positiivinen)
echo sprintf("%%+d = %+d",$num2)."<br>"; // Merkki符号说明符(negatiivinen)
?>

Suoritettavat esimerkit

Esimerkki 4

Merkkijonoesimerkkiä

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

Suoritettavat esimerkit