Função sprintf() do PHP
Exemplo
Substitua o símbolo de porcentagem (%) por uma variável passada como parâmetro:
<?php $number = 2; $str = "Shanghai"; $txt = sprintf("Existem 쥕hões de carros em %s.", $number, $str); echo $txt; ?>
Definição e uso
A função sprintf() escreve uma string formatada na variável.
arg1,arg2,++ Os parâmetros serão inseridos no sinal de porcentagem (%) da string principal. A função é executada gradualmente. No primeiro símbolo %, insira arg1, insira no segundo símbolo % arg2, conforme necessário.
Observação:Se o símbolo % for maior do que arg Se houver parâmetros, você deve usar placeholders. Os placeholders estão após o símbolo %, compostos por números e "\$". Veja o exemplo 2.
Dica:Funções relacionadas: printf(), vprintf(), vsprintf(), fprintf() e vfprintf()
Sintaxe
sprintf(format,arg1,arg2,arg++)
Parâmetro | Descrição |
---|---|
format |
Obrigatório. Determina a string e como formatar as variáveis dentro dela. Valores de formato possíveis:
Valores de formato adicionais. Deve ser colocado entre % e a letra (por exemplo %.2f):
Observação:Se forem usados vários valores de formato acima, eles devem ser usados na ordem acima. |
arg1 | Obrigatório. Determina o que será inserido format O parâmetro localizado no primeiro símbolo % na string. |
arg2 | Opcional. Determina o que será inserido format O parâmetro localizado no segundo símbolo % na string. |
arg++ | Opcional. Determina o que será inserido format Os parâmetros localizados no terceiro e quarto símbolos % na string. |
Detalhes técnicos
Retorno: | Retorna a string formatada. |
Versão do PHP: | 4+ |
Mais exemplos
Exemplo 1
Uso do valor de formatação %%f:
<?php $number = 123; $txt = sprintf("%f",$number); echo $txt; ?>
Exemplo 2
Uso de placeholders:
<?php $number = 123; $txt = sprintf("Com duas casas decimais:%1$.2f <br>Sem decimal: %1$u,$number); echo $txt; ?>
Exemplo 3
Demostração de todos os possíveis valores de formatação:
<?php $num1 = 123456789; $num2 = -123456789; $char = 50; // O caractere ASCII 50 é 2 // Comentário: O valor de formato "%%" retorna o símbolo de porcentagem echo sprintf("%%b = %b",$num1)."<br>"; // Número binário echo sprintf("%%c = %c",$char)."<br>"; // Caractere ASCII echo sprintf("%%d = %d",$num1)."<br>"; // Número decimal com sinal echo sprintf("%%d = %d",$num2)."<br>"; // Número decimal com sinal echo sprintf("%%e = %e",$num1)."<br>"; // Notação científica (em minúsculo) echo sprintf("%%E = %E",$num1)."<br>"; // Notação científica (em maiúsculo) echo sprintf("%鑾u",$num1)."<br>"; // Número decimal sem sinal (positivo) echo sprintf("%鑾u",$num2)."<br>"; // Número decimal sem sinal (negativo) echo sprintf("%%f = %f",$num1)."<br>"; // Número de ponto flutuante (considerando a configuração regional) echo sprintf("%%F = %F",$num1)."<br>"; // Número de ponto flutuante (não considerando a configuração regional) echo sprintf("%%g = %g",$num1)."<br>"; // Curto em relação a %%e e %%f echo sprintf("%%G = %G",$num1)."<br>"; // Curto em relação a %%E e %%f echo sprintf("%%o = %o",$num1)."<br>"; // Número octal echo sprintf("%%s = %s",$num1)."<br>"; // String echo sprintf("%%x = %x",$num1)."<br>"; // Número hexadecimal (minúsculo) echo sprintf("%%X = %X",$num1)."<br>"; // Número hexadecimal (maiúsculo) echo sprintf("%%+d = %+d",$num1)."<br>"; // Símbolo de sinal (positivo) echo sprintf("%%+d = %+d",$num2)."<br>"; // Símbolo de sinal (negativo) ?>
Exemplo 4
Demonstração de Desenhador de String:
<?php $str1 = "Hello"; $str2 = "Hello world!"; echo sprintf("[%s]",$str1)."<br>"; echo sprintf("[%8s]",$str1)."<br>"; echo sprintf("[%-8s]",$str1)."<br>"; echo sprintf("[%08s]",$str1)."<br>"; echo sprintf("[%'*8s]",$str1)."<br>"; echo sprintf("[%8.8s]",$str2)."<br>"; ?>