PHP sprintf()Funciones
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;
echo sprintf("%%b = %b",$num1)."<br>";
echo sprintf("%%c = %c",$char)."<br>";
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 = %u",$num1)."<br>";
echo sprintf("%%u = %u",$num2)."<br>";
echo sprintf("%%f = %f",$num1)."<br>";
echo sprintf("%%F = %F",$num1)."<br>";
echo sprintf("%%g = %g",$num1)."<br>";
echo sprintf("%%G = %G",$num1)."<br>";
echo sprintf("%%o = %o",$num1)."<br>";
echo sprintf("%%s = %s",$num1)."<br>";
echo sprintf("%%x = %x",$num1)."<br>";
echo sprintf("%%X = %X",$num1)."<br>";
echo sprintf("%%+d = %+d",$num1)."<br>";
echo sprintf("%%+d = %+d",$num2)."<br>";
?>
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 »
Manual de referencia de cadenas PHP Otras extensiones