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; ?>
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:
Yderligere formatværdier. Skal placeres mellem % og bogstaver (f.eks. %.2f):
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; ?>
Eksempel 2
Brug af pladsholder:
<?php $number = 123; $txt = sprintf("Med to decimaler:%1\$.2f <br>Uden decimaler:%1\$u",$number); echo $txt; ?>
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) ?>
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>"; ?>