Função vsprintf
A função vsprintf é análoga a sprintf, mas aceita argumentos na forma de um array,
e não um número variável de parâmetros. O primeiro parâmetro é uma string de modelo com
especificadores de formato, o segundo - um array de valores para substituição. Na string de formato são usados caracteres especiais (especificadores de formato), que começam com o sinal % e controlam a formatação da saída.
Sintaxe
vsprintf(string $format, array $args);
Especificadores de Formato
| Especificador | Descrição |
|---|---|
%s |
String |
%d |
Número inteiro com sinal (decimal) |
%u |
Número inteiro sem sinal (decimal) |
%f |
Número de ponto flutuante (dependente da localidade) |
%F |
Número de ponto flutuante (não dependente da localidade) |
%c |
Caractere por código ASCII |
%x |
Número inteiro em sistema hexadecimal (minúsculas) |
%X |
Número inteiro em sistema hexadecimal (maiúsculas) |
%o |
Número inteiro em sistema octal |
%b |
Número inteiro em sistema binário |
%e |
Notação científica (minúsculas) |
%E |
Notação científica (maiúsculas) |
%g |
Formato curto de %e ou %f |
%G |
Formato curto de %E ou %F |
%% |
Sinal de percentagem |
Exemplo
Exemplo básico de formatação de string com substituição de valores:
<?php
$res = vsprintf('Olá %s! Hoje é %s.', ['João', 'Segunda-feira']);
echo $res;
?>
Resultado da execução do código:
'Olá João! Hoje é Segunda-feira.'
Exemplo
Uso de diferentes especificadores de formato:
<?php
$res = vsprintf('%04d-%02d-%02d', [2023, 5, 12]);
echo $res;
?>
Resultado da execução do código:
'2023-05-12'
Exemplo
Trabalhando com números de ponto flutuante:
<?php
$res = vsprintf('Preço: R$%.2f', [19.99]);
echo $res;
?>
Resultado da execução do código:
'Preço: R$19.99'