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

Manuale di base PHP

Manuale avanzato PHP

PHP & MySQL

Manuale di riferimento PHP

Uso e esempio di funzione sprintf() in PHP

   PHP String 字符串函数手册

    La funzione sprintf() viene utilizzata per restituire una stringa formattata.

Sintassi

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

Definizione e uso

Usato per formattare stringhe, scrivere la stringa formattata in una variabile.

I parametri arg1, arg2, ++ vengono inseriti nei segni di percentuale (%) della stringa principale. La funzione è eseguita in modo progressivo. Al primo segno % viene inserito arg1, al secondo segno % viene inserito arg2, ecc.

Attenzione:Se ci sono più simboli % rispetto ai parametri arg, è necessario utilizzare i segnaposto. I segnaposto vengono inseriti dopo il simbolo % e sono composti da un numero e "\$". Vedi l'esempio 2.

Suggerimento:Funzioni correlate:printf(),vprintf(),vsprintf(),fprintf() evfprintf()

Valore di ritorno

Restituisce una stringa formattata

Parametro

Numero di serieParametro e descrizione
1

format

Obbligatorio. Specifica 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 - Usa la notazione scientifica in minuscolo (ad esempio 1.2e+2)

  • %E - Usa la notazione scientifica 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 inseriti tra % e una lettera (ad esempio %.2f):

  • + (aggiungi '+' o '-' davanti al numero per definire la segnazione dei numeri. Per default, solo i numeri negativi sono segnalati, i numeri positivi no)

  • ' (specifica cosa usare come riempimento, per default sono spazi. Deve essere usato insieme al selettore di larghezza. Ad esempio: '%x20s' (usa '"x"' come riempimento))

  • - (allineamento a sinistra del valore della variabile)

  • .[0-9] (specifica la larghezza minima del valore della variabile)

  • .[0-9] (specifica il numero di cifre decimali o la lunghezza massima della stringa)

Commento:Se si utilizzano più valori di formato come quelli elencati sopra, devono essere utilizzati nell'ordine specificato, non possono essere disordinati.

2

arg1

Obbligatorio. Specifica il primo parametro da inserire nella stringa formattata

3

arg2

Opzionale. Specifica il secondo parametro da inserire nella stringa formattata

...

arg++

Opzionale. Specifica i parametri da inserire nei simboli % del formato di stringa tra il terzo, quarto, quinto e così via.

Esempio online

Prova l'esempio seguente, sostituisci il simbolo %f con una variabile passata come parametro:

<?php
   // Sostituisci il simbolo %f con una variabile passata come parametro
   $number = 123;
   $txt = sprintf("%f", $number);
   
   echo $txt;
?>
Testa a vedere‹/›

Il risultato dovrebbe essere il seguente

123.000000

Esempio di illustrazione di tutti i valori di formato possibili del parametro format:

<?php
$num1 = 123456789;
$num2 = -123456789;
$char = 50; // carattere ASCII 50 è 2
 
// Commento: il valore di formato "%%" restituisce il percento
echo sprintf("%%b = %b", $num1)."<br>"; // numero binario
echo sprintf("%%c = %c", $char)."<br>"; // carattere ASCII
echo sprintf("%%d = %d", $num1)."<br>"; // numero decimale con segno
echo sprintf("%%d = %d", $num2)."<br>"; // numero decimale con segno
echo sprintf("%%e = %e", $num1)."<br>"; // notazione scientifica (minuscola)
echo sprintf("%%E = %E", $num1)."<br>"; // notazione scientifica (maiuscola)
echo sprintf("%鑾u", $num1)."<br>"; // numero decimale senza segno (positivo)
echo sprintf("%鑾u", $num2)."<br>"; // numero decimale senza segno (negativo)
echo sprintf("%%f = %f", $num1)."<br>"; // numero decimale (con la configurazione locale)
echo sprintf("%%F = %F", $num1)."<br>"; // numero decimale (ignora la configurazione locale)
echo sprintf("%%g = %g", $num1)."<br>"; // più corto di %%e e %%f
echo sprintf("%%G = %G", $num1)."<br>"; // più corto di %%E e %%f
echo sprintf("%%o = %o", $num1)."<br>"; // numero in ottale
echo sprintf("%%s = %s", $num1)."<br>"; // stringa
echo sprintf("%%x = %x",$num1)."<br>"; // Numero esadecimale (minimo)
echo sprintf("%%X = %X",$num1)."<br>"; // Numero esadecimale (maggio)
echo sprintf("%%+d = %+d",$num1)."<br>"; // Simbolo di segno (positivo)
echo sprintf("%%+d = %+d",$num2)."<br>"; // Simbolo di segno (negativo)
?>
Testa a vedere‹/›

Il risultato dovrebbe essere il seguente

%b = 111010110111100110100010101
%c = 2
%d = 123456789
%d = -123456789
%e = 1.234568e+8
%E = 1.234568E+8
钑23456789
钑8446744073586094827
%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

Esempio di illustrazione dei simboli di stringa:

<?php
$str1 = "Hello";
$str2 = "Hello 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>";
?>
Testa a vedere ‹/›

Risultato di output:

[Hello]
[   Hello]
[Hello   ]
[000Hello]
[***Hello]
[Hello PH]

PHP String 字符串函数手册