Funguo ya PHP sprintf()

Mifano

Badilisha alama ya boresha (%) na muarama unaonekana kwa sababu ya kumpatikana:

<?php
$number = 2;
$str = "Shanghai";
txt = sprintf("Kuna milioni ya michea katika %s.", $number, $str);
echo $txt;
?>

Mifano ya kufanyia

定义和用法

sprintf() 函数把格式化的字符串写入变量中。

arg1arg2++ 参数将被插入到主字符串中的百分号(%)符号处。该函数是逐步执行的。在第一个 % 符号处,插入 arg1, katika kina ya pili ya %, ingezwa arg2, kila mara inaonekana

Mafano:Ikiwa kina ya % zaidi ya arg Ikiwa inatumiwa thamani, inahitajika kuwa na mabaki. Mabaki inapatikana kwenye kina ya % na kijazuli na '$'. Tazama maelezo 2.

Maelezo:Funguo za muhimu: printf(), vprintf(), vsprintf(), fprintf() na vfprintf()

Inayotumiwa kwa kusababisha kufikia thamani.

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

Inayohitajika. Inasababisha kumekadiri tarakimu na jinsi ya kutumia thamani zake.

Muhimu wa formati zaidi:

  • %% - Inarudia kina ya pondo %
  • %b - Namba ya pekee yenye upeo
  • %c - Herufi yenye thamani ya ASCII
  • %d - Namba ya pekee yenye chaguo cha kawaida (mabara, 0, namba za kina)
  • %e - Kusababisha uwezo wa namba ya sayansi kwa herufi kica (mimeno: 1.2e+2)
  • %E - Kusababisha uwezo wa namba ya sayansi kwa herufi kubwa (mimeno: 1.2E+2)
  • 蒧amba ya pekee yenye upeo (kubwa sana 0)
  • %f - Namba ya fani (kwa chaguo cha kawaida)
  • %F - Namba ya fani (kwa chaguo cha kawaida)
  • %g - Kufupisha %e na %f
  • %G - Kufupisha %E na %f
  • %o - Namba ya pekee
  • %s - Tarakimu
  • %x - Namba ya kilo (herufi kica)
  • %X - Namba ya kilo (herufi kubwa)

Muhimu wa formati zaidi. Inahitajika kuwa na kijazuli kati ya % na herufi (mimeno: %.2f):

  • + (Inasababisha kuongezwa + au - kwenye thamani ya namba kwa kumieleza chaguo cha thamani. Kwa chaguo cha kawaida, kwa thamani ya namba zingine inatumiwa kwa chaguo cha - tu, thamani ya namba za kina haitumiwa chaguo)
  • ' (Inasababisha kutumiwa nini kama ujumbe, kwa chaguo ni nje. Inahitajika kuwa na kijazuli na kuzingatia kijazuli kwa upeo. Mfano: '%'x20s (inaona 'x' kama ujumbe))
  • - (Inasababisha kuelekea kushingo kushingo kwa thamani ya muhimu)
  • [0-9] (Inasababisha uwezo wa upeo wa thamani ya muhimu)
  • .[0-9] (Inasababisha uwezo wa mafanikio ya fani au uwezo wa urefu wa tarakimu yenye upeo)

Mafano:Ikiwa inatumiwa formati zaidi ya above, zitasababisha kutumiwa kizuizi kama inayotajwa juu.

arg1 Inayohitajika. Inasababisha kuongezwa format paramu wa kati ya % katika tarakimu ya kwanza.
arg2 Inayowezekana. Inasababisha kuongezwa format paramu wa kati ya % katika tarakimu ya pili.
arg++ Inayowezekana. Inasababisha kuongezwa format 参数 muhimu wa kati ya % katika tarakimu.

技术细节

返回值: 返回已格式化的字符串。
PHP 版本: 4+

更多实例

例子 1

使用格式值 %f:

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

Mifano ya kufanyia

例子 2

使用占位符:

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

Mifano ya kufanyia

例子 3

对所有可能的格式值的演示:

<?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>"; // Tukio
echo sprintf("%%x = %x",$num1)."<br>"; // Nambari ya juu ya kifungu (kichwa)
echo sprintf("%%X = %X",$num1)."<br>"; // Nambari ya juu ya kifungu (kubwa)
echo sprintf("%%+d = %+d",$num1)."<br>"; // Herufi ya symboli (tatu)
echo sprintf("%%+d = %+d",$num2)."<br>"; // Herufi ya symboli (kina)
?>

Mifano ya kufanyia

Mifanikio 4

Mifanikio ya kueleza herufi za kufikia

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

Mifano ya kufanyia