PHP sprintf() ਫੰਕਸ਼ਨ

ਉਦਾਹਰਣ

ਪ੍ਰੋਸੈਂਟੇਜ਼ (%%) ਚਿੰਨ੍ਹ ਨੂੰ ਇੱਕ ਪੈਰਾਮੀਟਰ ਵਜੋਂ ਪਾਸ ਕੀਤੇ ਗਏ ਵਾਰੀਅਬਲ ਨਾਲ ਤਬਦੀਲ ਕਰੋ:

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

چلنے والا مثال

定义和用法

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

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

ਟਿੱਪਣੀਆਂ:如果 % 符号多于 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):

  • + (在数字前面加上 + 或 - 来定义数字的正负性。默认情况下,只有负数才做标记,正数不做标记)
  • ' (规定使用什么作为填充,默认是空格。它必须与宽度指定器一起使用。例如:%'x20s(使用 "x" 作为填充))
  • - (左调整变量值)
  • [0-9] (规定变量值的最小宽度)
  • .[0-9] (规定小数位数或最大字符串长度)

ਟਿੱਪਣੀਆਂ:ਜੇਕਰ ਉੱਪਰੋਕਤ ਫਾਰਮੈਟ ਕੀਮਤਾਂ ਦੇ ਬਹੁਤ ਸਾਰੇ ਵਰਤੇ ਜਾਂਦੇ ਹਨ ਤਾਂ ਉਹਨਾਂ ਨੂੰ ਉੱਪਰੋਕਤ ਕਰਨ ਦੀ ਕਿਸਮ ਨਾਲ ਵਰਤਣਾ ਹੈ。

arg1 ਲਾਜ਼ਮੀ। ਨਿਰਧਾਰਿਤ ਕਰਨ ਲਈ ਜੋੜਨਾ ਹੈ format ਪਾਠ ਵਿੱਚ ਪਹਿਲੇ % ਚਿੰਨ੍ਹ ਦੇ ਸਥਾਨ 'ਤੇ ਪੈਰਾਮੀਟਰ ਹਨ。
arg2 ਵਿਕਲਪੀ। ਨਿਰਧਾਰਿਤ ਕਰਨ ਲਈ ਜੋੜਨਾ ਹੈ format ਪਾਠ ਵਿੱਚ ਦੂਜੇ % ਚਿੰਨ੍ਹ ਦੇ ਸਥਾਨ 'ਤੇ ਪੈਰਾਮੀਟਰ ਹਨ。
arg++ ਵਿਕਲਪੀ। ਨਿਰਧਾਰਿਤ ਕਰਨ ਲਈ ਜੋੜਨਾ ਹੈ format ਪਾਠ ਵਿੱਚ ਤੀਜੇ ਅਤੇ ਚੌਥੇ % ਚਿੰਨ੍ਹ ਦੇ ਸਥਾਨ 'ਤੇ ਪੈਰਾਮੀਟਰ ਹਨ。

技术细节

返回值: 返回已格式化的字符串。
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>";
?>

چلنے والا مثال