String formatada de saída:
<?php$number = 9;$str = "Pequim";vprintf("Existem %u milhões de bicicletas em %s.",array($number,$str));?>A função vprintf() gera uma string formatada.
Ao contrário de printf(), os argumentos em vprintf() estão em um array. Os elementos da matriz serão inseridos na string principal no sinal de porcentagem (%). Esta função é executada passo a passo. No primeiro sinal %, o primeiro elemento da matriz é inserido, no segundo sinal %, o segundo elemento da matriz é inserido e assim por diante.
Nota: Se houver mais símbolos % do que parâmetros arg, você deverá usar espaços reservados. O espaço reservado é inserido após o símbolo % e consiste em um número e "$". Veja o Exemplo 2.
Dica: Funções relacionadas: sprintf(), printf(), vsprintf(), fprintf() e vfprintf()
vprintf( formato,array )
parâmetro | descrever |
---|---|
formatar | Obrigatório. Especifica uma string e como as variáveis dentro dela devem ser formatadas. Valores de formato possíveis: %% - retorna um sinal de porcentagem % %b - número binário %c - o caractere correspondente ao valor ASCII %d - número decimal com sinal (negativo, 0, positivo) %e - Use notação científica em letras minúsculas (por exemplo, 1.2e+2) %E - Use notação científica em maiúsculas (por exemplo, 1.2E+2) %u - Número decimal sem sinal (maior ou igual a 0) %f - número de ponto flutuante (configuração local) %F - número de ponto flutuante (configuração não nativa) %g - a versão mais curta de %e e %f %G - %E e %f mais curtos %o - número octal %s - sequência %x - número hexadecimal (letras minúsculas) %X - número hexadecimal (letras maiúsculas) Valores de formato adicionais. Deve ser colocado entre % e uma letra (ex. %.2f): + (Adicione + ou - na frente de um número para definir o sinal do número. Por padrão, apenas números negativos são marcados e números positivos não são marcados) ' (Especifica o que usar como preenchimento, o padrão é espaços. Deve ser usado com um especificador de largura. Por exemplo: %'x20s (use "x" como preenchimento)) - (valor da variável de ajuste esquerdo) [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) Nota: Se vários valores de formato acima forem usados, eles deverão ser usados na ordem acima e não poderão ser interrompidos. |
argarray | Obrigatório. Uma matriz com parâmetros que serão inseridos na string de formato em % símbolos. |
Valor de retorno: | Retorna o comprimento da string de saída. |
---|---|
Versão PHP: | 4.1.0+ |
Use o valor de formato %f:
<?php$num1 = 123;$num2 = 456;vprintf("%f%f",array($num1,$num2));?>Use espaços reservados:
<?php$number = 123;vprintf("Com 2 casas decimais: %1$.2f<br>Sem casas decimais: %1$u",array($number));?>Use printf() para demonstrar todos os valores de formato possíveis:
<?php$num1 = 123456789;$num2 = -123456789;$char = 50; // O caractere ASCII 50 é 2// Nota: O valor do formato "%%" retorna um sinal de porcentagemprintf("%%b = %b <br>",$num1); // Número binárioprintf("%%c = %c <br>",$char); // O ASCII Characterprintf("%%d = %d <br>",$num1); // Número decimal assinadoprintf("%%d = %d <br>",$num2); = %e <br>",$num1); // Notação científica (minúsculas)printf("%%E = %E <br>",$num1); // Notação científica (maiúsculas)printf("%%u = %u <br>",$num1); // Número decimal não assinado (positivo)printf("%%u = %u <br>",$num2); número decimal (negativo)printf("%%f = %f <br>",$num1); // Número de ponto flutuante (configurações locais cientes)printf("%%F = %F <br>",$num1); // Número de ponto flutuante (sem reconhecimento de configurações locais)printf("%%g = %g <br>",$num1); // Menor de %e e %fprintf(" %%G = %G <br>",$num1); // Menor entre %E e %fprintf("%%o = %o <br>",$num1); // Octal numberprintf("%%s = %s <br>",$num1); // Stringprintf("%%x = %x <br>",$num1); // Número hexadecimal (minúsculo)printf("%%X = %X <br >",$num1); // Número hexadecimal (maiúsculo)printf("%%+d = %+d <br>",$num1); // Especificador de sinal (positivo)printf("%%+d = %+d <br>",$num2); // Especificador de sinal (negativo)?>Demonstração de especificadores de string:
<?php$str1 = "Olá";$str2 = "Olá mundo!";vprintf("[%s]<br>",array($str1));vprintf("[%8s]<br>",array($str1));vprintf("[%-8s] <br>",array($str1));vprintf("[%08s]<br>",array($str1)); vprintf("[%'*8s]<br>",array($str1));vprintf("[%8.8s]<br>",array($str2) ?>