當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


PHP vsprintf()用法及代碼示例


PHP中的vsprintf()函數是一個內置函數,用於將數組值顯示為格式化字符串。數組元素將插入到主字符串中的百分號(%)處。根據其格式將數組值顯示為格式化字符串,並接受數組參數代替可變數量的參數。該函數返回格式化的字符串。而vprintf()輸出格式化的字符串

用法:

 vsprintf (format, arr_arguments)

使用的參數:此函數采用兩個參數,如下所述:


  1. 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)
  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



相關用法


注:本文由純淨天空篩選整理自jit_t大神的英文原創作品 PHP | vsprintf() Function。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。