PHP vfprintf() 函数

PHP vfprintf() função

Exemplo

<?php
Escreva o texto no arquivo de texto chamado "test.txt":
$number = 9;
$file = fopen("test.txt","w");
$str = "Pequim";
?>

echo vfprintf($file,"Há 쥕hões de bicicletas em %s.",array($number,$str));

O código acima será output:

40

O seguinte texto será escrito no arquivo "test.txt":

Há 9 milhões de bicicletas em Pequim.

Definição e uso

A função vfprintf() escreve a string formatada no fluxo de saída especificado (por exemplo: arquivo ou banco de dados).

Notas:Diferente de fprintf(), os parâmetros em vfprintf() estão em um array. Os elementos do array serão inseridos no sinal de porcentagem (%) da string principal. A função é executada gradualmente. No primeiro sinal de porcentagem (%), é inserido o primeiro elemento do array, no segundo sinal de porcentagem (%), é inserido o segundo elemento do array, e assim por diante. arg Se houver mais parâmetros, você deve usar placeholders. Os placeholders são inseridos após o símbolo %, compostos por um número e "\$". Veja o exemplo 2.

Funções relacionadas:

Sintaxe

vfprintf(stream,formatar,argarray)
Parâmetros Descrição
stream Obrigatório. Define onde escrever/sair a string.
formatar

Obrigatório. Define a string e como formatar as variáveis dentro dela.

Valores de formatação possíveis:

  • %% - Retorna um sinal 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 contagem científica em letras minúsculas (por exemplo, 1.2e+2)
  • %E - Usa a contagem científica em letras maiúsculas (por exemplo, 1.2E+2)
  • 蒧úmero decimal sem sinal (maior ou igual a 0)
  • %f - Número de ponto flutuante (configurado localmente)
  • %F - Número de ponto flutuante (não configurado localmente)
  • %g - Mais curto que %e e %f
  • %G - Mais curto que %E e %f
  • %o - Número octal
  • %s - Stringa
  • %x - Número hexadecimal (letras minúsculas)
  • %X - Número hexadecimal (letras maiúsculas)

Valor de formatação adicional. Deve ser colocado entre % e uma letra (por exemplo, %.2f):

  • + (Adicione + ou - antes do número para definir a sua polaridade. Por 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' (usando 'x' como preenchimento))
  • - (alinhamento à esquerda do valor da variável)
  • .[0-9] (especifica o comprimento mínimo 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 formato, eles devem ser usados na ordem acima.

argarray Obrigatório. Um array com parâmetros, que serão inseridos formatar O símbolo % na string.

Detalhes técnicos

Retorno: Retorna o comprimento da string escrita.
Versão do PHP: 5+

Mais exemplos

例子 1

Escrever texto no arquivo:

<?php
$num1 = 123;
$num2 = 456;
$file = fopen("test.txt","w");
vfprintf($file,"%f%f",array($num1,$num2));
?>

O seguinte texto será escrito no arquivo "test.txt":

123.000000456.000000

例子 2

使用占位符:

<?php
$number = 123;
$file = fopen("test.txt","w");
vfprintf($file,"Com 2 decimais: %1$.2f
\nSem decimais: %1$u",array($number));
?>

O seguinte texto será escrito no arquivo "test.txt":

Com 2 decimais: 123.00
Sem decimais: 123

例子 3

使用 printf() 来演示所有可能的格式值:

<?php
$num1 = 123456789;
$num2 = -123456789;
$char = 50; // ASCII 字符 50 是 2
// 注释:格式值 "%%" 返回百分号
printf("%%b = %b <br>",$num1); // 二进制数
printf("%%c = %c <br>",$char); // ASCII 字符
printf("%%d = %d <br>",$num1); // 带符号的十进制数
printf("%%d = %d <br>",$num2); // 带符号的十进制数
printf("%%e = %e <br>",$num1); // 科学计数法(小写)
printf("%%E = %E <br>",$num1); // 科学计数法(大写)
printf("%鑾u <br>", $num1); // Número decimal sem sinal (positivo)
printf("%鑾u <br>", $num2); // Número decimal sem sinal (negativo)
printf("%%f = %f <br>", $num1); // Número de ponto flutuante (considera a configuração local)
printf("%%F = %F <br>", $num1); // Número de ponto flutuante (não considera a configuração local)
printf("%%g = %g <br>", $num1); // Curto em relação a %e e %f
printf("%%G = %G <br>", $num1); // Curto em relação a %E e %f
printf("%%o = %o <br>", $num1); // Número octal
printf("%%s = %s <br>", $num1); // String
printf("%%x = %x <br>", $num1); // Número hexadecimal (minúsculo)
printf("%%X = %X <br>", $num1); // Número hexadecimal (maiúsculo)
printf("%%+d = %+d <br>", $num1); // Sinal de indicação (positivo)
printf("%%+d = %+d <br>", $num2); // Explicação do sinal (negativo)
?>

Executar Exemplo