PHP sprintf() funktionen

Eksempel

Erstat procenttegnet (%) med en variabel, der overføres som parameter:

<?php
$number = 2;
$str = "Shanghai";
Der er 쥕lioner biler i %s.
echo $txt;
?>

Kør eksempel

Definition og brug

sprintf() funktionen skriver formaterede strenge til variabler.

arg1,arg2,++ Parameterne vil blive indsat i hovedstrengens procenttegn (%) arg1, indsæt arg2, fortsæt sådan.

Kommentar:hvis %-symboler er flere arg Parameter, skal du bruge en placeholder. Placeholderen findes efter % og består af et tal og "$". Se eksempel 2.

Vedligeholdelse:Relaterede funktioner: printf(), vprintf(), vsprintf(), fprintf() og vfprintf()

Syntaks

sprintf(format,arg1,arg2,arg++)
Parameter Beskrivelse
format

Obligatorisk. Angiver strengen samt hvordan variablerne i den skal formateres.

Mulige formatværdier:

  • %% - Returnerer en procenttegn (%)
  • %b - Binært tal
  • %c - ASCII-værdi tilsvarende tegn
  • %d - Decimaltal med plus eller minus (negativ, 0, positiv)
  • %e - Brug af små bogstaver i videnskabelig notation (f.eks. 1.2e+2)
  • %E - Brug af store bogstaver i videnskabelig notation (f.eks. 1.2E+2)
  • 蛞cimaltal uden plus eller minus (større end eller lig med 0)
  • %f - Flydende tal (lokalet indstillet)
  • %F - Flydende tal (ikke lokalt indstillet)
  • %g - Kortere %e og %f
  • %G - Kortere %E og %f
  • %o - Octal tal
  • %s - Streng
  • %x - Hexadecimalt tal (små bogstaver)
  • %X - Hexadecimalt tal (store bogstaver)

Yderligere formatværdier. Skal placeres mellem % og bogstaver (f.eks. %.2f):

  • + (tilføj + eller - foran tallene for at definere positiv eller negativhed. Som standard markeres kun negative tal, ikke positive)
  • ' (angiver, hvad der skal bruges som fyldning, standard er mellemrum. Det skal bruges sammen med breddeindikatoren. Eksempel: '%'x20s (brug af "x" som fyldning))
  • - (venstrejustering af variabelværdi)
  • [0-9] (angiver variabelværdiens minimale bredde)
  • .[0-9] (angiver antallet af decimaler eller maksimal strenglængde)

Kommentar:Hvis flere af ovennævnte formatværdier bruges, skal de bruges i den nævnte rækkefølge.

arg1 Obligatorisk. Angiver, hvor format Strengens første %-symbolers parametre.
arg2 Valgfri. Angiver, hvor format Strengens andet %-symbolers parametre.
arg++ Valgfri. Angiver, hvor format Strengens tredje og fjerde %-symbolers parametre.

Tekniske detaljer

Returværdi: Returnerer formateret streng.
PHP version: 4+

Flere eksempler

Eksempel 1

Brug af formatværdi %f:

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

Kør eksempel

Eksempel 2

Brug af pladsholder:

<?php
$number = 123;
$txt = sprintf("Med to decimaler:%1\$.2f
<br>Uden decimaler:%1\$u",$number);
echo $txt;
?>

Kør eksempel

Eksempel 3

Demonstration af alle mulige formatværdier:

<?php
$num1 = 123456789;
$num2 = -123456789;
$char = 50; // ASCII tegn 50 er 2
// Kommentar: Formatværdi "%%" returnerer procenttegn
echo sprintf("%%b = %b",$num1)."<br>"; // Binært tal
echo sprintf("%%c = %c",$char)."<br>"; // ASCII tegn
echo sprintf("%%d = %d",$num1)."<br>"; // Med tegn (decimalt)
echo sprintf("%%d = %d",$num2)."<br>"; // Med tegn (decimalt)
echo sprintf("%%e = %e",$num1)."<br>"; // Værtskommatal (små bogstaver)
echo sprintf("%%E = %E",$num1)."<br>"; // Værtskommatal (store bogstaver)
echo sprintf("%鑾u",$num1)."<br>"; // Uden tegn (positiv)
echo sprintf("%鑾u",$num2)."<br>"; // Uden tegn (negativ)
echo sprintf("%%f = %f",$num1)."<br>"; // Flydende tal (afhængigt af lokal opsætning)
echo sprintf("%%F = %F",$num1)."<br>"; // Flydende tal (ikke afhængigt af lokal opsætning)
echo sprintf("%%g = %g",$num1)."<br>"; // Kortere end %e og %f
echo sprintf("%%G = %G",$num1)."<br>"; // Kortere end %E og %f
echo sprintf("%%o = %o",$num1)."<br>"; // Otalsystem
echo sprintf("%%s = %s",$num1)."<br>"; // Streng
echo sprintf("%%x = %x",$num1)."<br>"; // Hexadecimal tal (små bogstaver)
echo sprintf("%%X = %X",$num1)."<br>"; // Hexadecimal tal (store bogstaver)
echo sprintf("%%+d = %+d",$num1)."<br>"; // Symbolindikator (positiv)
echo sprintf("%%+d = %+d",$num2)."<br>"; // Symbolindikator (negativ)
?>

Kør eksempel

Eksempel 4

Demonstration af strengsymboler:

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

Kør eksempel