Saltar al contenido

¿Por qué usar la función sprintf en PHP?

Solución:

sprintf tiene todas las capacidades de formato del printf original, lo que significa que puede hacer mucho más que simplemente insertar valores de variables en cadenas.

Por ejemplo, especifique formato de número (hexadecimal, decimal, octal), número de decimales, relleno y más. Google para printf y encontrarás muchos ejemplos. El artículo de wikipedia sobre printf debería ayudarlo a comenzar.

Hay muchos casos de uso para sprintf, pero una forma en que los uso es almacenando una cadena como esta: ‘Hola, mi nombre es% s’ en una base de datos o como una constante en una clase PHP. De esa manera, cuando quiera usar esa cadena, simplemente puedo hacer esto:

$name="Josh";
// $stringFromDB = 'Hello, My Name is %s';
$greeting = sprintf($stringFromDB, $name);
// $greetting = 'Hello, My Name is Josh'

Esencialmente permite cierta separación en el código. Si utilizo ‘Hola, mi nombre es% s’ en muchos lugares de mi código, puedo cambiarlo a ‘% s es mi nombre’ en un lugar y se actualiza en todos los demás automáticamente, sin tener que ir a cada instancia y moverse concatenaciones.

Otro uso de sprintf está en aplicaciones localizadas como argumentos para sprintf no tiene que estar en el orden en que aparecen en la cadena de formato.

Ejemplo:

$color="blue";
$item = 'pen';

sprintf('I have a %s %s', $color, $item);

Pero un idioma como el francés ordena las palabras de manera diferente:

$color="bleu";
$item = 'stylo';

sprintf('J'ai un %2$s %1$s', $color, $item);

(Sí, mi francés apesta: ¡aprendí alemán en la escuela!)

En realidad, usarías gettext para almacenar las cadenas localizadas, pero entiendes la idea.


¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)


Tags : / /

Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *