PHP中的vsprintf()函數是一個內置函數,用於將數組值顯示為格式化字符串。數組元素將插入到主字符串中的百分號(%)處。根據其格式將數組值顯示為格式化字符串,並接受數組參數代替可變數量的參數。該函數返回格式化的字符串。而vprintf()輸出格式化的字符串
用法:
vsprintf (format, arr_arguments)
使用的參數:此函數采用兩個參數,如下所述:
- format:它具有Required參數。它指定如何將字符串格式化為變量。可能的格式值如下:
- %%-返回百分號
- %b-二進製數
- %d-帶符號的十進製數字(負,零或正)
- %u-無符號十進製數字(等於或大於零)
- %X-十六進製數字(小寫字母)
- %X-十六進製數字(大寫字母)
- %F-浮點數(可識別本地設置)
- %F-浮點數(不了解本地設置)
- %o-八進製數
- %C-根據ASCII值的字符
- %s-弦
- %e-使用小寫字母的科學計數法(例如1.2e + 2)
- %G-%e和%f中的較短者
- %G-%E和%f中的較短者
- %E-使用大寫字母的科學計數法(例如1.2E + 2)
- arr_arguments:在%符號格式的字符串處插入的數組參數。
附加格式:
- ---> Left-justifies用於變量值。
- [0-9]->數字的最大字符串長度。
- [0-9]->可變值的最小字符串寬度。
- +->用於兩個[+或-](默認情況下為負數)。
程序1:字符串空間指定程序。
<?php
$str1 = "Geeks";
$str2 = "Geeksforgeeksarticle";
// print string-1 only
echo vsprintf("%s\n", array(
$str1
));
// print string-15 space
echo vsprintf("%15s\n", array(
$str1
));
// print string-1 with space
echo vsprintf("%-25s\n", array(
$str1
));
// print string with zero
echo vsprintf("%020s\n", array(
$str1
));
// print string with * symbol
echo vsprintf("%'*10s\n", array(
$str1
));
// print string-2
echo vsprintf("%s\n", array(
$str2
));
// print string-2 with decimal point
echo vsprintf("%2.10s\n", array(
$str2
));
// print string-2 with space
echo vsprintf("%30s\n", array(
$str2
));
// print string-2 with zero
echo vsprintf("%030s", array(
$str2
));
?>
輸出:
Geeks Geeks Geeks 000000000000000Geeks *****Geeks Geeksforgeeksarticle Geeksforge Geeksforgeeksarticle 0000000000Geeksforgeeksarticle
程序2:在PHP的vsprintf()函數中驅動浮點數程序%f和%F。
<?php
// %f and %F floating number in
// vsprintf function in php
$value1 = 789495321;
$value2 = 8080907021;
$value3 = 334422190;
echo "\n%f (local) Floating:";
// for %f Floating-point number
// for local settings aware
$txt = vsprintf("%f %f %f", array(
$value1,
$value2,
$value3
));
echo $txt;
echo "\n%F (Not local) Floating:";
// for %F Floating-point number
// for local settings aware
$result = vsprintf("%F %F %F ", array(
$value1,
$value2,
$value3
));
echo $result;
?>
輸出:
%f (local) Floating:789495321.000000 8080907021.000000 334422190.000000 %F (Not local) Floating:789495321.000000 8080907021.000000 334422190.000000
程序3:在vsprintf()函數中實現%d,%u,%e和%E。
<?php
// vsprintf function in php
// used %d, %u, %e, %E
$value1 = 7894;
$value2 = 9070;
$value3 = 3344;
echo "%d Signed decimal number:";
// %d Signed decimal number
// where (-, + or zero)
$txt = vsprintf("%d %d %d", array(
$value1,
$value2,
$value3
));
echo $txt;
echo "\n%u UnSigned decimal number:";
// %d UnSigned decimal number
// where (0<=zero)
$tt = vsprintf("%u %u %u", array(
$value1,
$value2,
$value3
));
echo $tt;
echo "\n%e Scientific notation:";
// Scientific notation for lowercase
$result = vsprintf("%e %e %e ", array(
$value1,
$value2,
$value3
));
echo $result;
echo "\n%E Scientific notation:";
// Scientific notation for uppercase
$result = vsprintf("%E %E %E ", array(
$value1,
$value2,
$value3
));
echo $result;
?>
輸出:
%d Signed decimal number:7894 9070 3344 %u UnSigned decimal number:7894 9070 3344 %e Scientific notation:7.894000e+3 9.070000e+3 3.344000e+3 %E Scientific notation:7.894000E+3 9.070000E+3 3.344000E+3
程序4:在PHP中的vsprintf()函數中實現%%,%b,%o,%x和%X。
<?php
// vsprintf function in php
// used %%, %b, %o, %x, %X
$value1 = 789495;
$value2 = 334455;
// Returns [%] sign
echo "% ->Returns [%] sign:";
$txt = vsprintf("%% %%", array(
$value1,
$value2
));
echo $txt;
// Returns [%b] binary number
echo "\n%b ->binary number:";
$tt = vsprintf("%b %b", array(
$value1,
$value2
));
echo $tt;
// Returns [%o] octal number
echo "\n%o ->octal number:";
$result = vsprintf("%o %o ", array(
$value1,
$value2
));
echo $result;
// Returns [%x] Hexadecimal number[lowercase]
echo "\n%x ->Hexadecimal number Lc:";
$result = vsprintf("%x %x", array(
$value1,
$value2
));
echo $result;
// Returns [%X] Hexadecimal number[Uperercase]
echo "\n%X ->Hexadecimal number Uc:";
$result = vsprintf("%X %X", array(
$value1,
$value2
));
echo $result;
?>
輸出:
% ->Returns [%] sign:% % %b ->binary number:11000000101111110111 1010001101001110111 %o ->octal number:3005767 1215167 %x ->Hexadecimal number Lc:c0bf7 51a77 %X ->Hexadecimal number Uc:C0BF7 51A77
程序5:在PHP中實現%g%G和%c(ASCII)vsprintf()函數。
<?php
// vsprintf function in php
$value1 = 75;
$value2 = 55;
$char = 97;
$char2 = 69;
// shorter of %e and %f
echo "%g shorter of %e and %f:";
$txt = vsprintf("%g %g", array(
$value1,
$value2
));
echo $txt;
// %G - shorter of %E and %f
echo "\n%G shorter of %E and %f:";
$tt = vsprintf("%G %G", array(
$value1,
$value2
));
echo $tt;
// ASCII value
echo "\n%c ASCII value:";
$result = vsprintf("%c %c ", array(
$char,
$char2
));
echo $result;
?>
輸出:
%g shorter of %e and %f:75 55 %G shorter of %E and %f:75 55 %c ASCII value:a E
相關文章: PHP - vprintf()用法及代碼示例
參考:http://php.net/manual/en/function.vsprintf.php
相關用法
- d3.js d3.lab()用法及代碼示例
- d3.js d3.hcl()用法及代碼示例
- PHP Ds\Set xor()用法及代碼示例
- PHP Ds\Map put()用法及代碼示例
- PHP sin( )用法及代碼示例
- PHP cos( )用法及代碼示例
- PHP tan( )用法及代碼示例
- PHP abs()用法及代碼示例
- PHP next()用法及代碼示例
- PHP pow( )用法及代碼示例
- PHP Ds\Set get()用法及代碼示例
- d3.js d3.map.set()用法及代碼示例
注:本文由純淨天空篩選整理自jit_t大神的英文原創作品 PHP | vsprintf() Function。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。