Función sprintf() de PHP
Ejemplo
Reemplaza el símbolo de porcentaje (%) con una variable que se pasa como parámetro:
<?php $number = 2; $str = "Shanghai"; $txt = sprintf("Hay 쥕lones de coches en %s.", $number, $str); echo $txt; ?>
Definición y uso
La función sprintf() escribe una cadena formateada en una variable.
arg1,arg2,++ Los parámetros se insertarán en el símbolo (%) de la cadena principal. Esta función se ejecuta de manera progresiva. En el primer símbolo %, insertar arg1, en el segundo símbolo %, insertar arg2, y así sucesivamente.
Comentarios:Si hay más de un símbolo % arg Si se utilizan parámetros, debe utilizarse un marcador de posición. El marcador de posición se encuentra después del símbolo %, formado por un número y "\$". Véase el ejemplo 2.
Consejo:Funciones relacionadas: printf(), vprintf(), vsprintf(), fprintf() y vfprintf()
Sintaxis
sprintf(format,arg1,arg2,arg++)
Parámetros | Descripción |
---|---|
format |
Obligatorio. Define la cadena y cómo formatear las variables dentro de la misma. Valores de formato posibles:
Valores de formato adicionales. Deben colocarse entre % y la letra (por ejemplo %.2f):
Comentarios:Si se utilizan varios valores de formato, deben utilizarse en el orden especificado anteriormente. |
arg1 | Obligatorio. Define el lugar donde se inserta format El parámetro en el primer símbolo % en la cadena. |
arg2 | Opcional. Define el lugar donde se inserta format El parámetro en el segundo símbolo % en la cadena. |
arg++ | Opcional. Define el lugar donde se inserta format El parámetro en el tercer y cuarto símbolo % en la cadena. |
Detalles técnicos
Valor devuelto: | Devuelve la cadena formateada. |
Versión de PHP: | 4+ |
Más ejemplos
Ejemplo 1
Uso del valor de formato %%f:
<?php $number = 123; $txt = sprintf("%f",$number); echo $txt; ?>
Ejemplo 2
Uso de comodines:
<?php $number = 123; $txt = sprintf("Con dos decimales:%1\$.2f <br>Sin decimales:%1\$u",$number); echo $txt; ?>
Ejemplo 3
Demostración de todos los posibles valores de formato:
<?php $num1 = 123456789; $num2 = -123456789; $char = 50; // El carácter ASCII 50 es 2 // Comentario: El valor de formato "%%" devuelve el 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úscula) echo sprintf("%%E = %E",$num1)."<br>"; // Notación científica (mayúscula) echo sprintf("%鑾u",$num1)."<br>"; // Número decimal sin signo (positivo) echo sprintf("%鑾u",$num2)."<br>"; // Número decimal sin signo (negativo) echo sprintf("%%f = %f",$num1)."<br>"; // Número de coma flotante (considerando la configuración local) echo sprintf("%%F = %F",$num1)."<br>"; // Número de coma flotante (sin considerar la configuración local) echo sprintf("%%g = %g",$num1)."<br>"; // Corto en comparación con %%e y %%f echo sprintf("%%G = %G",$num1)."<br>"; // Corto en comparación con %%E y %%f echo sprintf("%%o = %o",$num1)."<br>"; // Número octal echo sprintf("%%s = %s",$num1)."<br>"; // Cadenas 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>"; // Símbolo de indicador (positivo) echo sprintf("%%+d = %+d",$num2)."<br>"; // Símbolo de indicador (negativo) ?>
Ejemplo 4
Demostración de identificadores 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>"; ?>