PHP vsprintf() 函数

实例

把格式化字符串写入变量中:

<?php
$number = 9;
$str = "Beijing";
$txt = vsprintf("There are %u million bicycles in %s.",array($number,$str));
echo $txt;
?>

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

定义和用法

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

与 sprintf() 不同,vsprintf() 中的参数位于数组中。数组元素将被插入到主字符串中的百分号(%)符号处。该函数是逐步执行的。在第一个 % 符号处,插入第一个数组元素,在第二个 % 符号处,插入第二个数组元素,依此类推。

ਟਿੱਪਣੀ:如果 % 符号多于 arg 参数,则您必须使用占位符。占位符被插入到 % 符号之后,由数字和 "\$" 组成。请参见例子 2。

ਸੁਝਾਅ:ਸਬੰਧਤ ਫੰਕਸ਼ਨ:

ਗਰੈਮਾਰ

vsprintf(format,argarray)
ਪੈਰਾਮੀਟਰ ਵਰਣਨ
format

ਲਾਜ਼ਮੀ। ਸਟਰਿੰਗ ਦੀ ਨਿਰਧਾਰਤ ਕਰਦਾ ਹੈ ਅਤੇ ਉਸ ਵਿੱਚ ਮੁੱਲਾਂ ਦੇ ਫਾਰਮੈਟਿੰਗ ਨੂੰ ਨਿਰਧਾਰਤ ਕਰਦਾ ਹੈ。

ਸੰਭਵ ਫਾਰਮੈਟ ਮੁੱਲ:

  • %% - % ਚਿੰਨ੍ਹ ਵਾਪਸ ਦੇਣ ਵਾਲਾ
  • %b - ਦੋਹਰੀ ਸਿਫਰੀ ਨੰਬਰ
  • %c - ASCII ਮੁੱਲ ਦਾ ਅੱਖਰ
  • %d - ਸਿਫਰੀ ਨੰਬਰ (ਸਕਾਰਾਤਮਕ, 0, ਨਕਾਰਾਤਮਕ)
  • %e - ਛੋਟੇ ਲੇਖਕ ਸਿਫਰੀ ਮੁੱਲ (ਉਦਾਹਰਣ 1.2e+2)
  • %E - ਬੜੇ ਲੇਖਕ ਸਿਫਰੀ ਮੁੱਲ (ਉਦਾਹਰਣ 1.2E+2)
  • 躑ਿਫਰੀ ਨੰਬਰ (ਬੱਚੇ ਤੋਂ ਬਾਅਦ ਕੋਈ ਚਿੰਨ੍ਹ ਨਹੀਂ)
  • %f - ਫਲੌਟਿੰਗ ਪੁਆਇੰਟ (ਸਥਾਨਕ ਸੈਟਿੰਗ)
  • %F - ਫਲੌਟਿੰਗ ਪੁਆਇੰਟ (ਨਾਲੋਕ ਸੈਟਿੰਗ)
  • %g - ਛੋਟੇ %e ਅਤੇ %f
  • %G - ਛੋਟੇ %E ਅਤੇ %f
  • %o - ਆਠਵੀਂ ਸਿਫਰੀ ਨੰਬਰ
  • %s - ਸਟਰਿੰਗ
  • %x - ਸਿਫਰੀ ਨੰਬਰ (ਛੋਟੇ ਅੱਖਰਾਂ)
  • %X - ਸਿਫਰੀ ਨੰਬਰ (ਬੜੇ ਅੱਖਰਾਂ)

ਵਾਧੂ ਫਾਰਮੈਟ ਮੁੱਲ। ਲਾਜ਼ਮੀ ਹੈ ਕਿ ਇਹ % ਅਤੇ ਅੱਖਰ ਦਰਮਿਆਨ ਰੱਖੇ ਜਾਣ (ਉਦਾਹਰਣ: %.2f):

  • + (+ ਜਾਂ - ਨੂੰ ਸ਼ੁਰੂ ਵਿੱਚ ਜੋੜ ਕੇ ਨੰਬਰ ਦੇ ਆਕਾਰ ਨੂੰ ਨਿਰਧਾਰਤ ਕਰਦਾ ਹੈ। ਮੂਲਤਬੀ ਮੂਲਤਬੀ ਨਾਂਬਰ ਵਿੱਚ ਕੇਵਲ ਨਾਂਬਰ ਦੇ ਨਾਂਬਰ ਦੇ ਚਿੰਨ੍ਹ ਨੂੰ ਦਿਖਾਉਂਦਾ ਹੈ, ਪ੍ਰਤੀਕਾਰੀ ਨਾਂਬਰ ਵਿੱਚ ਕੇਵਲ ਪ੍ਰਤੀਕਾਰੀ ਨਾਂਬਰ ਦੇ ਚਿੰਨ੍ਹ ਨੂੰ ਦਿਖਾਉਂਦਾ ਹੈ)
  • ' (ਪੂਰਣ ਕਰਨ ਵਾਲੇ ਚਿੰਨ੍ਹ ਨੂੰ ਨਿਰਧਾਰਤ ਕਰਦਾ ਹੈ, ਮੂਲਤਬੀ ਖਾਲੀ ਜਗ੍ਹਾ। ਇਸ ਨੂੰ ਚੌਡਾਈ ਸਪੈਸੀਫਾਈਰ ਨਾਲ ਵਰਤਣਾ ਚਾਹੀਦਾ ਹੈ। ਉਦਾਹਰਣ: '%x20s' ("x" ਨੂੰ ਪੂਰਣ ਕਰਨ ਵਾਲੇ ਚਿੰਨ੍ਹ ਵਜੋਂ ਵਰਤਿਆ ਗਿਆ))
  • - (ਸਾਮਨੇ ਤੋਂ ਸਾਜ਼ੀ ਕਰਦਾ ਹੈ)
  • .[0-9] (ਨਿਰਧਾਰਤ ਮੁੱਲ ਦੀ ਨਮੁਨਾ ਦੀ ਸਭ ਤੋਂ ਛੋਟੀ ਚੌਡਾਈ ਨੂੰ ਨਿਰਧਾਰਤ ਕਰਦਾ ਹੈ)
  • .[0-9] (ਤੁਰਨਾਲ ਮੁੱਲ ਜਾਂ ਮਹਾਂਸਤਰ ਦੀ ਮਹੱਤਵਪੂਰਨ ਲੰਬਾਈ ਨੂੰ ਨਿਰਧਾਰਤ ਕਰਦਾ ਹੈ)

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

argarray ਲਾਜ਼ਮੀ। ਪੈਰਾਮੀਟਰ ਵਾਲੀ ਇੱਕ ਮੰਡਲ ਜੋ ਪੈਰਾਮੀਟਰਾਂ ਵਿੱਚ ਪਾਇਆ ਜਾਵੇਗਾ format ਸਟਰਿੰਗ ਵਿੱਚ % ਚਿੰਨ੍ਹ ਦੇ ਸਥਾਨ.

ਤਕਨੀਕੀ ਵੇਰਵਾ

ਵਾਪਸ ਦੇਣ ਵਾਲਾ ਮੁੱਲ: ਮੰਡਲ ਵਾਲੀ ਸਟਰਿੰਗ ਫਾਰਮੈਟ ਵਿੱਚ ਮੰਡਲ ਵਾਲੇ ਮੁੱਲ ਵਾਪਸ ਦੇਣ ਵਾਲਾ.
PHP ਵਰਜਨ: 4.1.0+

ਹੋਰ ਉਦਾਹਰਣ

ਉਦਾਹਰਣ 1

ਵਰਤੋਂ ਕਰਨ ਵਾਲੀ ਫਾਰਮੈਟ ਮੁੱਲ:

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

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

例子 2

使用占位符:

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

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

例子 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>"; // 字符串
ایچیو اسپرینٹ("%%x = %x",$num1)."<br>"; // شصد و شصد کا نمونہ (چھوٹا)
ایچیو اسپرینٹ("%%X = %X",$num1)."<br>"; // شصد و شصد کا نمونہ (بزرگ)
ایچیو اسپرینٹ("%%+d = %+d",$num1)."<br>"; // علامت انوائٹر (موافق)
ایچیو اسپرینٹ("%%+d = %+d",$num2)."<br>"; // علامت انوائٹر (منفی)
?>

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

مثال 4

اسٹرنگ انوائٹر کی نمائش:

<?php
$str1 = "Hello";
$str2 = "Hello world!";
ایچیو ویسپرینٹ("[%s]",ایک آرائی کا آرایه($str1))."<br>";
ایچیو ویسپرینٹ("[%8s]",ایک آرائی کا آرایه($str1))."<br>";
ایچیو ویسپرینٹ("[%-8s]",ایک آرائی کا آرایه($str1))."<br>";
ایچیو ویسپرینٹ("[%08s]",ایک آرائی کا آرایه($str1))."<br>";
ایچیو ویسپرینٹ("[%'*8s]",ایک آرائی کا آرایه($str1))."<br>";
ایچیو ویسپرینٹ("[%8.8s]",ایک آرائی کا آرایه($str2))."<br>";
?>

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