PHP sprintf()-funktio
Esimerkki
Vaihda prosentti-%(piste)symboli yhdellä parametrina siirrettyyn muuttujaan:
<?php $number = 2; $str = "Shanghai"; txt = sprintf("On 쥕joonaa autoa %s.", $number, $str); echo $txt; ?>
Määrittely ja käyttötapa
sprintf()-funktio kirjoittaa muotoillun merkkijonon muuttujaan.
arg1,arg2,++ Parametrit lisätään asteittain päämerkkijonon prosenttimerkkiin (%). Tämä funktio on asteittainen. arg1, toisen %-merkin sijasta lisää arg2, jne.
Huomautus:Jos %-merkkiä on enemmän arg Jos käytetään parametreja, on käytettävä korviketta. Korvikkeet sijoitetaan %-merkin jälkeen ja koostuvat numerosta ja "\$"-merkistä. Katso esimerkki 2.
Vinkki:Liittyvät funktiot: printf(), vprintf(), vsprintf(), fprintf() ja vfprintf()
Syntaksi
sprintf(format,arg1,arg2,arg++)
Parametrit | Kuvaus |
---|---|
format |
Välttämätön. Määrittää merkkijonon ja sen muotoilun sisällä olevat muuttujat. Mahdolliset muotoiluarvot:
Lisämuotoiluarvot. Välttämätöntä sijoittaa % ja kirjain välille (esimerkiksi %.2f):
Huomautus:Jos käytetään useita yllä mainittuja muotoiluarvoja, ne on käytettävä yllä olevassa järjestyksessä. |
arg1 | Välttämätön. Määrittää liitettävän format Merkkijonossa ensimmäisen %-merkkinä olevat parametrit. |
arg2 | Valinnainen. Määrittää liitettävän format Merkkijonossa toisen %-merkkinä olevat parametrit. |
arg++ | Valinnainen. Määrittää liitettävän format Merkkijonossa kolmannen ja neljännen %-merkkinä olevat parametrit. |
Tekninen tarkistus
Palautusarvo: | Palauttaa muotoillun merkkijonon. |
PHP versio: | 4+ |
Lisää esimerkkejä
Esimerkki 1
Käytä muotoiluarvoa %f:
<?php $number = 123; $txt = sprintf("%f",$number); echo $txt; ?>
Esimerkki 2
Käytä paikkamerkkejä:
<?php $number = 123; $txt = sprintf("Kaksi desimaalia:%1\$.2f <br>Ilman desimaaleja:%1\$u",$number); echo $txt; ?>
Esimerkki 3
Kaikki mahdolliset muotoilujen arvot esimerkiksi:
<?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>"; // Merkkijono echo sprintf("%%x = %x",$num1)."<br>"; // Kymmenkantainen numero (pieni) echo sprintf("%%X = %X",$num1)."<br>"; // Kymmenkantainen numero (iso) echo sprintf("%%+d = %+d",$num1)."<br>"; // Merkkiarka (positiivinen) echo sprintf("%%+d = %+d",$num2)."<br>"; // Merkkiarka (negatiivinen) ?>
Esimerkki 4
Merkistömuuttujien esittely:
<?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>"; ?>