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

phpvsprintf(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<?php
  $res = vsprintf('Olá %s! Hoje é %s.', ['João', 'Segunda-feira']);
  echo $res;
?>

Resultado da execução do código:

php'Olá João! Hoje é Segunda-feira.'

Exemplo

Uso de diferentes especificadores de formato:

php<?php
  $res = vsprintf('%04d-%02d-%02d', [2023, 5, 12]);
  echo $res;
?>

Resultado da execução do código:

php'2023-05-12'

Exemplo

Trabalhando com números de ponto flutuante:

php<?php
  $res = vsprintf('Preço: R$%.2f', [19.99]);
  echo $res;
?>

Resultado da execução do código:

php'Preço: R$19.99'

Veja também

  • a função sprintf,
    que formata uma string com um número variável de argumentos
  • a função printf,
    que exibe uma string formatada