Функция vsprintf
La función vsprintf es análoga a sprintf, pero acepta argumentos en forma de array,
y no un número variable de parámetros. El primer parámetro es una cadena de patrón con
especificadores de formato, el segundo - un array de valores para sustitución. En la cadena de formato se utilizan caracteres especiales (especificadores de formato), que comienzan con el signo % y controlan el formato de la salida.
Sintaxis
vsprintf(string $format, array $args);
Especificadores de formato
| Especificador | Descripción |
|---|---|
%s |
Cadena |
%d |
Número entero con signo (decimal) |
%u |
Número entero sin signo (decimal) |
%f |
Número de punto flotante (dependiente de la configuración regional) |
%F |
Número de punto flotante (no dependiente de la configuración regional) |
%c |
Carácter por código ASCII |
%x |
Número entero en sistema hexadecimal (minúsculas) |
%X |
Número entero en sistema hexadecimal (mayúsculas) |
%o |
Número entero en sistema octal |
%b |
Número entero en sistema binario |
%e |
Notación científica (minúsculas) |
%E |
Notación científica (mayúsculas) |
%g |
Formato corto de %e o %f |
%G |
Formato corto de %E o %F |
%% |
Signo de porcentaje |
Ejemplo
Ejemplo básico de formato de cadena con sustitución de valores:
<?php
$res = vsprintf('Hello %s! Today is %s.', ['John', 'Monday']);
echo $res;
?>
Resultado de la ejecución del código:
'Hello John! Today is Monday.'
Ejemplo
Uso de diferentes especificadores de formato:
<?php
$res = vsprintf('%04d-%02d-%02d', [2023, 5, 12]);
echo $res;
?>
Resultado de la ejecución del código:
'2023-05-12'
Ejemplo
Trabajo con números de punto flotante:
<?php
$res = vsprintf('Price: $%.2f', [19.99]);
echo $res;
?>
Resultado de la ejecución del código:
'Price: $19.99'