English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Tutoriais PHP Básicos

Tutoriais PHP Avançados

PHP & MySQL

Manual de Referência PHP

Uso e exemplo do função sprintf() PHP

   PHP String Funções de String

    A função sprintf() é usada para retornar uma string formatada.

Sintaxe

string sprintf ( string $format [, mixed $args [, mixed $... ]])

Definição e uso

Usado para formatar strings, escrever strings formatadas em uma variável.

arg1、arg2、++ Os parâmetros serão inseridos no lugar do símbolo (%) no string principal. A função é executada gradualmente. No primeiro símbolo %, insira arg.1Insira arg no lugar do segundo símbolo %.2e assim por diante.

Atenção:Se o símbolo % for mais do que o parâmetro arg, você deve usar um marcador de posição. O marcador de posição é inserido após o símbolo %, composto por um número e "\$". Veja o exemplo. 2.

Dica:Funções relacionadas:printf()vprintf()vsprintf()fprintf() evfprintf()

Retorno

Ele retorna a string formatada

Parâmetro

NúmeroParâmetro e descrição
1

format

Obrigatório. Especifica a string e como formatar a variável dentro dela

Valores de formatação possíveis:

  • %% - Retorna um símbolo de porcentagem %%

  • %b - Número binário

  • %c - Caractere correspondente ao valor ASCII

  • %d - Número decimal com sinal (número negativo, 0, número positivo)

  • %e - Usa a notação científica em minúsculas (por exemplo 1.2e+2

  • %E - Usa a notação científica em maiúsculas (por exemplo 1.2E+2

  • 㩵n - Número decimal sem sinal (igual ou maior que 0)

  • %f - Número de ponto flutuante (localizado)

  • %F - Número de ponto flutuante (não localizado)

  • %g - Curto %e e %f

  • %G - Curto %E e %f

  • %o - Número octal

  • %s - String

  • %x - Número hexadecimal (letras minúsculas)

  • %X - Número hexadecimal (letras maiúsculas)

Valores de formatação adicionais. É necessário colocá-los entre %% e a letra (por exemplo %.2f):

  • + (Adiciona no número antes) + ou - para definir a sinalização do sinal de número. Padrão: apenas números negativos são marcados, números positivos não são marcados)

  • ' (Especifica o que usar como preenchimento, o padrão é espaço. Deve ser usado com o especificador de largura. Por exemplo: %'x20s (Usa "x" como preenchimento))

  • - (Alinhamento à esquerda do valor da variável)

  • ][0-9] (Especifica a largura mínima do valor da variável)

  • ][0-9] (Especifica o número de casas decimais ou o comprimento máximo da string)

Notas:Se forem usados vários valores de formatação acima, eles devem ser usados na ordem acima, sem serem trocados.

2

arg1

Obrigatório. Especifica o primeiro parâmetro a ser inserido na string formatada

3

arg2

Opcional. Especifica o segundo parâmetro a ser inserido na string formatada

...

arg++

Opcional. Especifica o parâmetro a ser inserido no sinal %% do terceiro, quarto, quinto etc. símbolo do string formatado.

Exemplo online

Experimente o exemplo a seguir, substituindo o sinal %f por uma variável passada como parâmetro:

<?php
   //Substitua o sinal %f por uma variável passada como parâmetro
   $number = 123;
   $txt = sprintf("%f",$number);
   
   echo $txt;
?>
Teste e veja ‹/›

Os resultados devem ser os seguintes

123.000000

Exemplos de valores de formatação possíveis do parâmetro format:

<?php
$num1 = 123456789;
$num2 = -123456789;
$char = 50; // Caracter ASCII 50 é 2
 
// Notas: O valor de formatação "%%" retorna o símbolo de porcentagem
echo sprintf("%%b = %%b",$num1)."<br>"; // Número binário
echo sprintf("%%c = %%c",$char)."<br>"; // Caracter ASCII
echo sprintf("%%d = %d",$num1)."<br>"; // echo sprintf("%%d = %d",$num
echo sprintf("%%d = %d",$num2)."<br>"; // echo sprintf("%%d = %d",$num
Número decimal com sinal1)."<br>"; // Notação científica (minúscula)
echo sprintf("%%E = %E",$num1)."<br>"; // Notação científica (maiúscula)
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 local)
echo sprintf("%%F = %F",$num1)."<br>"; // Número de ponto flutuante (sem considerar a configuração local)
echo sprintf("%%g = %g",$num1)."<br>"; // Curto do %e e %f
echo sprintf("%%G = %G",$num1)."<br>"; // Curto do %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>"; // Sinalizadores (positivo)
echo sprintf("%%+d = %+d",$num2)."<br>"; // Sinalizadores (negativo)
?>
Teste e veja ‹/›

Os resultados devem ser os seguintes

%b = 111010110111100110100010101
%c = 2
%d = 123456789
%d = -123456789
%e = 1.234568e+8
 1.234568E+8
頻, 123456789
頻, 18446744073586094827
%f = 123456789.000000
%F = 123456789.000000
%g = 1.23457e+8
%G = 1.23457E+8
%o = 726746425
%s = 123456789
%x = 75bcd15
%X = 75BCD15
%+d = +123456789
%+d = -123456789

Exemplos de demonstração de sinalizadores de string:

<?php
$str1 = "Olá";
$str2 = "Olá PHP!";
 
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>";
?>
Teste e veja ‹/›

Resultados de saída:

[Olá]
[         Olá]
[Olá         ]
[000Olá]
[***Olá]
[Olá PH]

PHP String Funções de String