PHP sprintf()Funciones

PHP String 参考手册Manual de referencia de cadenas PHP

Ejemplos

Reemplaza el símbolo de porcentaje (%) por una variable que se pasa como parámetro:

<?php $number = 9; $str = "EJEMPLO"; $txt = sprintf("%s tiene %u millones de visitas al día!", $str, $number); echo $txt; ?>

El resultado de la ejecución es el siguiente:

EJEMPLO 每天有 9 万人在访问!

Definición y uso

La función sprintf() escribe una cadena formateada en una variable.

Los parámetros arg1, arg2, ++ se insertarán en el símbolo de porcentaje (%) de la cadena principal. Esta función se ejecuta paso a paso. En el primer símbolo %, se inserta arg1; en el segundo símbolo %, se inserta arg2; y así sucesivamente.

Nota:Si hay más símbolos % que parámetros arg, debe utilizar marcadores de posición. Los marcadores de posición se insertan después del símbolo % y se componen de un número y "\$". Consulte el ejemplo 2.

Consejo:Funciones relacionadas:printf()、 vprintf()、 vsprintf()、 fprintf()yvfprintf()


Sintaxis

sprintf(format,arg1,arg2,arg++)

Parámetros Descripción
format Obligatorio. Especifica la cadena y cómo formatear las variables en ella.

Posibles valores de formato:

  • %% - Devuelve un símbolo de porcentaje %
  • %b - Número binario
  • %c - Carácter correspondiente al valor ASCII
  • %d - Número decimal con signo (negativo, cero, positivo)
  • %e - Notación científica en minúsculas (por ejemplo, 1.2e+2)
  • %E - Notación científica en mayúsculas (por ejemplo, 1.2E+2)
  • %u - Número decimal sin signo (mayor o igual que 0)
  • %f - Número de punto flotante (configuración local)
  • %F - Número de punto flotante (configuración no local)
  • %g - El más corto entre %e y %f
  • %G - El más corto entre %E y %f
  • %o - Número octal
  • %s - Cadena
  • %x - Número hexadecimal (letras minúsculas)
  • %X - Número hexadecimal (letras mayúsculas)

Valores de formato adicionales. Deben colocarse entre % y la letra (por ejemplo, %.2f):

  • + (Agrega + o - delante del número para definir su signo. De forma predeterminada, solo se marcan los números negativos; los positivos no se marcan)
  • ' (Especifica qué usar como relleno; por defecto es un espacio. Debe usarse junto con el especificador de ancho. Por ejemplo: %'x20s (usa "x" como relleno))
  • - (Ajusta el valor de la variable a la izquierda)
  • [0-9] (Especifica el ancho mínimo del valor de la variable)
  • .[0-9] (Especifica el número de decimales o la longitud máxima de la cadena)

Nota:Si se utilizan varios de los valores de formato anteriores, deben usarse en el orden indicado anteriormente, sin alterarlo.

arg1 Obligatorio. Especifica el parámetro que se inserta en el primer símbolo % de la cadena de formato.
arg2 Opcional. Especifica el parámetro que se inserta en el segundo símbolo % de la cadena de formato.
arg++ Opcional. Especifica los parámetros que se insertan en el tercer, cuarto, etc. símbolos % de la cadena de formato.

Detalles técnicos

Valor de retorno: Devuelve la cadena formateada.
Versión de PHP: 4+


Más ejemplos

Ejemplo 1

Usando el valor de formato %f:

<?php $number = 123; $txt = sprintf("%f",$number); echo $txt; ?>

Ejecutar ejemplo »

Ejemplo 2

Usando marcadores de posición:

<?php $number = 123; $txt = sprintf("Con dos decimales: %1\$.2f <br>Sin decimales: %1\$u",$number); echo $txt; ?>

Ejecutar ejemplo »

Ejemplo 3

Demostración de todos los valores de formato posibles:

<?php $num1 = 123456789; $num2 = -123456789; $char = 50; //El carácter ASCII 50 es 2 //Nota: el valor de formato "%%" devuelve un símbolo de porcentaje echo sprintf("%%b = %b",$num1)."<br>"; //Número binario echo sprintf("%%c = %c",$char)."<br>"; //Carácter ASCII echo sprintf("%%d = %d",$num1)."<br>"; //Número decimal con signo echo sprintf("%%d = %d",$num2)."<br>"; //Número decimal con signo echo sprintf("%%e = %e",$num1)."<br>"; //Notación científica (minúsculas) echo sprintf("%%E = %E",$num1)."<br>"; //Notación científica (mayúsculas) echo sprintf("%%u = %u",$num1)."<br>"; //Número decimal sin signo (positivo) echo sprintf("%%u = %u",$num2)."<br>"; //Número decimal sin signo (negativo) echo sprintf("%%f = %f",$num1)."<br>"; //Número de punto flotante (según configuración local) echo sprintf("%%F = %F",$num1)."<br>"; //Número de punto flotante (sin considerar configuración local) echo sprintf("%%g = %g",$num1)."<br>"; //Más corto que %e y %f echo sprintf("%%G = %G",$num1)."<br>"; //Más corto que %E y %f echo sprintf("%%o = %o",$num1)."<br>"; //Número octal echo sprintf("%%s = %s",$num1)."<br>"; //Cadena echo sprintf("%%x = %x",$num1)."<br>"; //Número hexadecimal (minúsculas) echo sprintf("%%X = %X",$num1)."<br>"; //Número hexadecimal (mayúsculas) echo sprintf("%%+d = %+d",$num1)."<br>"; //Especificador de signo (positivo) echo sprintf("%%+d = %+d",$num2)."<br>"; //Especificador de signo (negativo) ?>


Ejemplo 4

Demostración del especificador de cadena:

<?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>"; ?>

Ejecutar ejemplo »


PHP String 参考手册Manual de referencia de cadenas PHP Otras extensiones