Vamos a ver algunas funciones útiles para el manejo y formateo de cadenas en PHP.
Para aplicar un formato personalizado PHP nos ofrece algunas opciones, entre ellas cabe destacar printf() y todas sus variantes como sprintf(), vprintf() y vsprintf(). Su uso es sencillo si conocemos los distintos códigos de formato que debemos aplicar.
$npedido = 129; $total = 202.55; printf("Total del pedido número %u = $.2f €", $npedido, $total); //en este caso estamos imprimiendo la cadena: //Total del pedido número 129 = 202.55 €
La diferencia entre printf() y sprintf() es que la primera imprime el resultado y la segunda simplemente lo devuelve. Además, es posible utilizar la numeración de elementos para no tener que depender del orden de las especificaciones de conversión al pasar las variables a la función o para poder repetir alguna de ellas.
printf("%1$/u - Total del pedido número %1$/u = %\2$.2f €", $npedido, $total); //imprimiria en la página: //129 - Total del pedido número 129 = 202.55 €
Del mismo modo, podemos pasar un array en lugar de un número concreto de variables. Para ello debemos utilizar la función vprintf().
$arr = array(129, 202.55); vprintf("Total del pedido número %u = $.2f €", $arr);
En esta tabla se indican los diferentes códigos de especificación de conversión.
Tipo | Significado |
---|---|
b | Interpretado como un entero y se imprime como un número binario |
c | Interpretado como un entero y se imprime como un carácter |
d | Interpretado como un entero y se imprime como un número decimal |
f | Interpretado como un doble y se imprime como un número con coma flotante |
o | Interpretado como un entero y se imprime como un número octal |
s | Interpretado como una cadena y se imprime como una cadena |
u | Interpretado como un entero y se imprime como un decimal sin signo |
x | Interpretado como un entero y se imprime como un número decimal con minúsculas para los dígitos a-f |
X | Interpretado como un entero y se imprime como un número hexadecimal con mayúsculas para los dígitos A-F |