Funzione sprintf() di PHP

Esempio

Sostituisci il simbolo di percentuale (%) con una variabile passata come parametro:

<?php
$number = 2;
$str = "Shanghai";
$txt = sprintf("Ci sono 쥕ioni di auto in %s.", $number, $str);
echo $txt;
?>

Esempio di esecuzione

Definizione e uso

La funzione sprintf() scrive una stringa formattata in una variabile.

arg1,arg2,++ I parametri vengono inseriti nei simboli (%) della stringa principale. La funzione è eseguita passo per passo. Nel primo simbolo % arg1, inserisci nel secondo simbolo % arg2, ecc.

Nota:Se ci sono più simboli % arg Se ci sono parametri, è necessario utilizzare i segnaposto. I segnaposto si trovano dopo il simbolo % e sono composti da un numero e "\$". Vedi esempio 2.

Suggerimento:Funzioni correlate: printf(), vprintf(), vsprintf(), fprintf() e vfprintf()

Sintassi

sprintf(format,arg1,arg2,arg++)
Parametro Descrizione
format

Obbligatorio. Stabilisce la stringa e come formattare le variabili all'interno di essa.

Valori di formato possibili:

  • %% - Restituisce un simbolo di percentuale %
  • %b - Numero binario
  • %c - Carattere corrispondente al valore ASCII
  • %d - Numero decimale con segno (numero negativo, 0, numero positivo)
  • %e - Utilizza la notazione esponenziale in minuscolo (ad esempio 1.2e+2)
  • %E - Utilizza la notazione esponenziale in maiuscolo (ad esempio 1.2E+2)
  • 蒧umero decimale senza segno (uguale o maggiore di 0)
  • %f - Numero a virgola mobile (impostazione locale)
  • %F - Numero a virgola mobile (impostazione non locale)
  • %g - Più corto di %e e %f
  • %G - Più corto di %E e %f
  • %o - Numero ottale
  • %s - Stringa
  • %x - Numero esadecimale (lettere minuscole)
  • %X - Numero esadecimale (lettere maiuscole)

Valori di formato aggiuntivi. Devono essere posizionati tra % e la lettera (ad esempio %.2f):

  • + (aggiunge + o - davanti al numero per definire il segno del numero. Per default, solo i numeri negativi sono segnalati, i numeri positivi non sono segnalati)
  • ' (stabilisce cosa utilizzare come riempimento, per default è lo spazio. Deve essere utilizzato insieme al selettore di larghezza. Ad esempio: '%x20s' (utilizza '"x"' come riempimento))
  • - (allineamento a sinistra del valore della variabile)
  • [0-9] (stabilisce la larghezza minima del valore della variabile)
  • .[0-9] (stabilisce il numero di cifre decimali o la lunghezza massima della stringa)

Nota:Se si utilizzano più valori di formato di cui sopra, devono essere utilizzati nell'ordine specificato.

arg1 Obbligatorio. Stabilisce dove inserire format Il parametro situato nel primo simbolo % all'interno della stringa.
arg2 Opzionale. Stabilisce dove inserire format Il parametro situato nel secondo simbolo % all'interno della stringa.
arg++ Opzionale. Stabilisce dove inserire format Il parametro situato tra il terzo e il quarto simbolo % all'interno della stringa.

技术细节

返回值: 返回已格式化的字符串。
PHP 版本: 4+

更多实例

例子 1

使用格式值 %f:

<?php
$number = 123;
$txt = sprintf("%f",$number);
echo $txt;
?>

Esempio di esecuzione

例子 2

使用占位符:

<?php
$number = 123;
$txt = sprintf("带两位小数:%1\$.2f
<br>不带小数:%1\$u",$number);
echo $txt;
?>

Esempio di esecuzione

例子 3

对所有可能的格式值的演示:

<?php
$num1 = 123456789;
$num2 = -123456789;
$char = 50; // ASCII 字符 50 是 2
// 注释:格式值 "%%" 返回百分号
echo sprintf("%%b = %b",$num1)."<br>"; // 二进制数
echo sprintf("%%c = %c",$char)."<br>"; // ASCII 字符
echo sprintf("%%d = %d",$num1)."<br>"; // 带符号的十进制数
echo sprintf("%%d = %d",$num2)."<br>"; // 带符号的十进制数
echo sprintf("%%e = %e",$num1)."<br>"; // 科学计数法(小写)
echo sprintf("%%E = %E",$num1)."<br>"; // 科学计数法(大写)
echo sprintf("%鑾u",$num1)."<br>"; // 不带符号的十进制数(正)
echo sprintf("%鑾u",$num2)."<br>"; // 不带符号的十进制数(负)
echo sprintf("%%f = %f",$num1)."<br>"; // 浮点数(视本地设置)
echo sprintf("%%F = %F",$num1)."<br>"; // 浮点数(不视本地设置)
echo sprintf("%%g = %g",$num1)."<br>"; // 短于 %e 和 %f
echo sprintf("%%G = %G",$num1)."<br>"; // 短于 %E 和 %f
echo sprintf("%%o = %o",$num1)."<br>"; // 数值
echo sprintf("%%s = %s",$num1)."<br>"; // Stringa
echo sprintf("%%x = %x",$num1)."<br>"; // Numero esadecimale (minuscolo)
echo sprintf("%%X = %X",$num1)."<br>"; // Numero esadecimale (maiuscolo)
echo sprintf("%%+d = %+d",$num1)."<br>"; // Simbolo di descrizione (positivo)
echo sprintf("%%+d = %+d",$num2)."<br>"; // Simbolo di descrizione (negativo)
?>

Esempio di esecuzione

Esempio 4

Dimostrazione di stringhe di descrizione:

<?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>";
?>

Esempio di esecuzione