sprintf()
-Funktion schreibt die formatierte Zeichenfolge in eine Variable.
Die Parameter arg1 , arg2 , ++ werden mit dem prozentualen Zeichen (%) Symbol in der Hauptzeichenfolge eingefügt. Diese Funktion wird Schritt für Schritt ausgeführt. Fügen Sie beim ersten % Symbol Arg1 ein, beim zweiten % Symbol, arg2 einfügen und so weiter.
Hinweis: Wenn das % -Symbol mehr als der Arg -Parameter ist, müssen Sie Platzhalter verwenden. Der Platzhalter steht hinter dem % -Symbol und besteht aus einer Zahl und "\ $". Siehe Beispiel 2.
fprintf()
printf()
vfprintf()
vprintf()
vsprintf()
Ersetzen Sie das prozentuale Zeichen (%) Symbol durch eine Variable als Parameter:
<? Php $ nummer = 2 ; $ str = "Shanghai" ; $ txt = Sprintf ( "Es gibt %U -Millionen -Autos in %s." , $ nummer , $ str ) ; echo $ txt ; ?>
Probieren Sie es selbst aus
Verwenden Sie den Formatwert %f:
<? Php $ nummer = 123 ; $ txt = Sprintf ( "%f" , $ number ) ; echo $ txt ; ?>
Probieren Sie es selbst aus
Nutzen Sie Platzhalter:
<? Php $ nummer = 123 ; $ txt = Sprintf ( "mit zwei Dezimalstellen: %1 \ $. 2f <br> Keine Dezimalstellen: %1 \ $ u " , $ number ) ; echo $ txt ; ?>
Probieren Sie es selbst aus
Demonstration aller möglichen Formatwerte:
<? Php $ num1 = 123456789 ; $ num2 = - 123456789 ; $ char = 50 ; // ASCII -Zeichen 50 ist 2 // Kommentar: Formatwert "%%" gibt ein Prozentzeichen zurück Echo Sprintf ( "%% b =%b" , $ num1 ) . "<br>" ; // Binärnummer Echo Sprintf ( "%% C =%c" , $ char ) . "<br>" ; // ASCII -Zeichen Echo Sprintf ( "%% D =%d" , $ num1 ) . "<br>" ; // signierte Dezimalzahl Echo Sprintf ( "%% D =%d" , $ num2 ) . "<br>" ; // signierte Dezimalzahl Echo Sprintf ( "%% e =%e" , $ num1 ) . "<br>" ; // wissenschaftliche Notation (Kleinbuchstaben) Echo Sprintf ( "%% e =%e" , $ num1 ) . "<br>" ; // wissenschaftliche Notation (Kappen) Echo Sprintf ( "%% u =%U" , $ num1 ) . "<br>" ; // Unsigned Dezimalzahl (positiv) Echo Sprintf ( "%% u =%u" , $ num2 ) . "<br>" ; // Unsigned Dezimalzahl (negativ) Echo Sprintf ( "%% F =%f" , $ num1 ) . "<br>" ; // schwimmende Punktnummer (abhängig von den lokalen Einstellungen) Echo Sprintf ( "%% F =%f" , $ num1 ) . "<br>" ; // schwimmende Punktzahl (nicht abhängig von den lokalen Einstellungen) Echo Sprintf ( "%% g =%g" , $ num1 ) . "<br>" ; // kürzer als %e und %f Echo Sprintf ( "%% g =%g" , $ num1 ) . "<br>" ; // kürzer als %e und %f Echo Sprintf ( "%% o =%o" , $ num1 ) . "<br>" ; // Oktalzahl Echo Sprintf ( "%% S =%s" , $ num1 ) . "<br>" ; // String Echo Sprintf ( "%% x =%x" , $ num1 ) . "<br>" ; // Hexadezimalzahl (Kleinbuchstaben) Echo Sprintf ( "%% x =%x" , $ num1 ) . "<br>" ; // Hexadezimalzahl (Kappen) Echo Sprintf ( "%%+d =%+d" , $ num1 ) . "<br>" ; // Symbolspezifizierer (positiv) Echo Sprintf ( "%%+d =%+d" , $ num2 ) . "<br>" ; // Symbolspezifizierer (negativ) ?>
Probieren Sie es selbst aus
Demonstration von String -Spezifikatoren:
<? Php $ str1 = "Hallo" ; $ str2 = "Hallo Welt!" ; 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>" ; ?>
Probieren Sie es selbst aus
Sprintf ( Format , Arg1 , Arg2 , Arg ++ )
Parameter | beschreiben |
---|---|
Format |
Erforderlich. Gibt die Zeichenfolge an und wie Sie die darin enthaltenen Variablen formatieren. Mögliche Formatwerte:
Zusätzlicher Formatwert. Notwendigerweise zwischen % und Buchstaben (z. B. % .2f) platziert:
Hinweis: Wenn Sie oben mehrere Formatwerte verwenden, müssen sie in der obigen Reihenfolge verwendet werden. |
arg1 | Erforderlich. Gibt die Parameter an, die in die Formatzeichenfolge in das erste % -Symbol eingefügt wurden. |
arg2 | Optional. Gibt den Parameter an, der in die Formatzeichenfolge in das zweite % -Symbol eingefügt wurde. |
arg ++ | Optional. Gibt die Parameter an, die in die Formatzeichenfolge in die dritte und vierte % Symbole eingefügt wurden. |