La función vsprintf() en PHP es una función incorporada y se usa para mostrar valores de array como una string formateada. Los elementos de la array se insertarán en los signos de porcentaje (%) en la string principal. Muestra valores de array como una string formateada de acuerdo con su formato y acepta un argumento de array en lugar de un número variable de argumentos. La función devuelve una string con formato . mientras que vprintf() genera una string formateada
Sintaxis:
vsprintf (format, arr_arguments)
Parámetros utilizados: esta función toma dos parámetros que se describen a continuación:
- formato: Tiene parámetro Requerido. Especifica cómo se formatea la string para que sean variables. Posibles valores de formato como se muestra a continuación:
- %% : devuelve un signo de porcentaje
- %b – Número binario
- %d – Número decimal con signo (negativo, cero o positivo)
- %u – Número decimal sin signo (igual o mayor que cero)
- %x – Número hexadecimal (letras minúsculas)
- %X – Número hexadecimal (letras mayúsculas)
- %f : número de coma flotante (consciente de la configuración local)
- %F : número de coma flotante (no tiene en cuenta la configuración local)
- %o – número octal
- %c – El carácter según el valor ASCII
- %s – String
- %e : notación científica en minúsculas (p. ej., 1,2e+2)
- %g : más corto que %e y %f
- %G : más corto que %E y %f
- %E : notación científica en mayúsculas (p. ej., 1,2E+2)
- arr_arguments: una array de argumentos insertada en la string con formato de signos %.
formato adicional:
- – -> Justifica a la izquierda para el valor de la variable.
- [0-9] -> longitud máxima de string para el número.
- [0-9] -> ancho de string mínimo para valor variable.
- + -> Usado para ambos [+ o-] (Por defecto es su número negativo).
Programa 1: programa especificado en el espacio de string.
php
<?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
Programa 2: Maneje el programa flotante %f y %F en la función vsprintf() en PHP.
php
<?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
Programa 3: Implemente %d, %u, %e y %E en la función vsprintf().
php
<?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
Programa 4: Implemente %%, %b, %o, %x y %X en la función vsprintf() en PHP.
php
<?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[Uppercase] 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
Programa 5: Implemente la función %g %G y %c(ASCII) vsprintf() en PHP.
php
<?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
Artículo relacionado: PHP | Referencias de la función vprintf()
: http://php.net/manual/en/function.vsprintf.php