PHP sprintf() ƙanar

Tarihin

Bakoyi (%%) simboliya kaiwa dake kanamata gani wanda a cikin abin da a ciki

<?php
$number = 2;
$str = "Shanghai";
$txt = sprintf("There are 쥕lion cars in %s.", $number, $str);
echo $txt;
?>

النموذج التشغيلي

定义和用法

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

arg1arg2++ 参数将被插入到主字符串中的百分号(%)符号处。该函数是逐步执行的。在第一个 % 符号处,插入 arg1,在第二个 % 符号处,插入 arg2,依此类推。

sharhi:如果 % 符号多于 arg 参数,则您必须使用占位符。占位符位于 % 符号之后,由数字和 "\$" 组成。请参见例子 2。

提示:相关函数:printf()、 vprintf()、 vsprintf()、 fprintf() 和 vfprintf()

语法

sprintf(format,arg1,arg2,arg++)
参数 描述
format

必需。规定字符串以及如何格式化其中的变量。

可能的格式值:

  • %% - 返回一个百分号 %
  • %b - 二进制数
  • %c - ASCII 值对应的字符
  • %d - 包含正负号的十进制数(负数、0、正数)
  • %e - 使用小写的科学计数法(例如 1.2e+2)
  • %E - 使用大写的科学计数法(例如 1.2E+2)
  • %u - 不包含正负号的十进制数(大于等于 0)
  • %f - 浮点数(本地设置)
  • %F - 浮点数(非本地设置)
  • %g - 较短的 %e 和 %f
  • %G - 较短的 %E 和 %f
  • %o - 八进制数
  • %s - 字符串
  • %x - 十六进制数(小写字母)
  • %X - 十六进制数(大写字母)

附加的格式值。必需放置在 % 和字母之间(例如 %.2f):

  • + (tana bukata kan hanyar mutumma na kafin kalmomin, wanda ya kamata a kiyasta da bukarar hanyar mutumma)
  • ' (tana bukata kan hanyar mutumma na kafin kalmomin, dacewa ana amfara kafin kalmomin. wanda ya kamata a kiyasta da bukarar hanyar mutumma)
  • - (tana bukata kan hanyar mutumma na kafin kalmomin)
  • [0-9] (tana bukata kan hanyar mutumma na kafin kalmomin)
  • .[0-9] (tana bukata kan hanyar mutumma na kafin kalmomin ko dacewa na kalmomin)

sharhi:hakanan an gina mutumma daga cikin na abin da yake da alama, suke amfara dake cikin na abin da yake da alama, dake kafin abin da yake da alama.

arg1 dabara. tana bukata kan arg1 format mu amfara na farko na kafin kalmomin % a cikakawa.
arg2 dabara. tana bukata kan arg++ format mu amfara na farko na kafin kalmomin % a cikakawa.
arg++ dabara. tana bukata kan arg++ format mu amfara na farko na farko na kafin kalmomin % a cikakawa.

技术细节

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

更多实例

例子 1

使用格式值 %f:

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

النموذج التشغيلي

例子 2

使用占位符:

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

النموذج التشغيلي

例子 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>"; // نص
echo sprintf("%%x = %x",$num1)."<br>"; // عدد عشري (أبيض)
echo sprintf("%%X = %X",$num1)."<br>"; // عدد عشري (أزرق)
echo sprintf("%%+d = %+d",$num1)."<br>"; // شرح العلامة النصية (إيجابي)
echo sprintf("%%+d = %+d",$num2)."<br>"; // شرح العلامة النصية (سالب)
?>

النموذج التشغيلي

مثال 4

مثال على شرح العلامات النصية

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

النموذج التشغيلي