sprintf in PHP

PHPz
PHPzOriginal
2024-08-29 12:34:54831Durchsuche

Sprintf in PHP ist eine Funktion, die zum Schreiben einer formatierten Zeichenfolge in eine Variable verwendet wird und eine formatierte Zeichenfolge zurückgibt. In PHP unterstützen Version 4 und höher diese Sprintf-Funktion. Die Funktion sprintf() ähnelt der Funktion printf(), der Haupt- und einzige Unterschied zwischen beiden besteht jedoch darin, dass sprintf() die Ausgabe in einer Zeichenfolge speichert, anstatt wie die Funktion printf() eine formatierte Ausgabe im Browser anzuzeigen. Die Funktion sprintf() kann mit echo arbeiten, d. h. die von sprintf() zurückgegebene formatierte Zeichenfolge wird mithilfe von echo im Browser gedruckt. Lassen Sie uns tiefer in das Thema eintauchen und seine Syntax und verfügbaren Formate sehen und einige Programme lösen.

Starten Sie Ihren kostenlosen Softwareentwicklungskurs

Webentwicklung, Programmiersprachen, Softwaretests und andere

Syntax

Hier ist die Syntax der Funktion sprintf() in PHP.

sprintf(format, arg1, arg2, arg3, …….)

Hier sind arg1, arg2, arg3 usw. Parameter von sprintf(). arg1 ist ein erforderliches Argument, das als erstes eingefügt werden muss. arg2, arg3, ……… sind optionale Argumente, die eingefügt werden können.

Format: Dies ist der erforderliche Parameter und gibt die Zeichenfolge an, wie die darin enthaltenen Variablen formatiert werden sollen.

Unten sind die möglichen Formate aufgeführt:

Parameter

Parameter

Description

%b Argument present as a binary number
%% Returns % sign
%d Parameter treated as a positive integer, represented as a decimal number
%c Parameter treated as an integer, represented as a character with ASCII
%e Precision specifier that specifies the number of digits after the decimal point. Scientific notation with lowercase
%u Parameter treated as an integer, represented as unsigned integer
%f Floating-point number(locale)
%g General format
%o Represented as Octal number
%x Represented as Hexadecimal number with lowercase letters
%s Argument presented and treated as a string
%E Similar to %e specifier but with Uppercase.
%F Floating-point number(Non-locale)
%G Similar to %g specifier but uses %E and %F
%X Represented with Hexadecimal number but with uppercase

Beschreibung

%b Argument liegt als Binärzahl vor %% Gibt %-Zeichen zurück %d Parameter wird als positive Ganzzahl behandelt und als Dezimalzahl dargestellt %c Parameter wird als Ganzzahl behandelt und als Zeichen mit ASCII dargestellt %e Präzisionsspezifizierer, der die Anzahl der Nachkommastellen angibt. Wissenschaftliche Notation mit Kleinbuchstaben %u Parameter wird als Ganzzahl behandelt und als vorzeichenlose Ganzzahl dargestellt %f Gleitkommazahl (Gebietsschema) %g Allgemeines Format %o Dargestellt als Oktalzahl %x Dargestellt als Hexadezimalzahl mit Kleinbuchstaben %s Argument wird als Zeichenfolge dargestellt und behandelt %E Ähnlich dem Spezifizierer %e, aber mit Großbuchstaben. %F Gleitkommazahl (kein Gebietsschema) %G Ähnlich dem Spezifizierer %g, verwendet jedoch %E und %F %X Dargestellt als Hexadezimalzahl, aber in Großbuchstaben

There are some additional format values, which are placed between % and letter.

  • +, both + and – are forced in front of numbers. Negative numbers are marked by default.
  •  ‘ Specifies what is to be used as padding.
  •  – Left justifies the variable
  • [0-9] Specifies minimum width held to the variable.
  • .[0-9] Specifies the number of decimal digits or the maximum string length.

How does sprintf() function work in PHP?

Let us see How sprintf() function in PHP works with few examples,

Example #1

Code:

<!DOCTYPE html>
<html>
<body>
<?php
$num1 = 321234;
$num2 = 860;
$text = sprintf("%f,%f",$num1, $num2);
echo $text;
?>
</body>
</html>

Output:

sprintf in PHP

Here, we have taken two float values and using sprintf() function, scanned the variables, and using echo, have printed the floating values on the console.

Example #2: for floating point decimals

Code:

<!DOCTYPE html>
<html>
<body>
<?php
$num1 = 4563;
$text = sprintf("With 3 decimals: %1\$.3f
<br>With no decimals: %1\$u <br>With single decimal: %1\$.1f",$num1);
echo $text;
?>
</body>
</html>

Output:

sprintf in PHP

So here for floating values, we have specified as to no decimals, or single decimal, or 3 decimal values.

Example #3: with string specifiers

Code:

<!DOCTYPE html>
<html>
<body>
<?php
$string1 = 'PHPv4';
echo sprintf("[%s]",$string1)."<br>";
echo sprintf("[%08s]",$string1)."<br>";
echo sprintf("[%-8s]",$string1)."<br>";
echo sprintf("[%8s]",$string1)."<br>";
echo sprintf("[%8.8s]",$string1)."<br>";
echo sprintf("[%'*8s]",$string1)."<br>";
?>
</body>
</html>

Output:

sprintf in PHP

So based on the output, [%s] will return the string as it is

[%08s] will return string with zero padding [%-8s] will return string with left justification [%8s] will return string with the right justification [%8.8s] will return string with left justification, cuts of characters after a specific value [%’*8s] will return string with additional *

Example #4: with Argument swapping

Code:

<!DOCTYPE html>
<html>
<body>
<?php
$num = 7;
$fruits = 'Mangoes';
$arg1 = 'The %2$s are %1$d in number';
echo sprintf($arg1, $num, $fruits);
?>
</body>
</html>

Output:

sprintf in PHP

So here, format string supports argument swapping/ numbering.
Imagine if the placeholders in format string do not match the order of the arguments as shown above. And hence, we have indicated the arg1 which arguments refer to which placeholders.

Example #5: for all format specifiers

Code:

<!DOCTYPE html>
<html>
<body>
<?php
$arg1 = 456;
$arg2 = -456;
$str = 57;
echo sprintf("%%b = %b",$arg1)."<br>";
echo sprintf("%%d = %d",$arg1)."<br>";
echo sprintf("%%d = %d",$arg2)."<br>";
echo sprintf("%%c = %c",$str)."<br>";
echo sprintf("%%e = %e",$arg1)."<br>";
echo sprintf("%%u = %u",$arg1)."<br>";
echo sprintf("%%u = %u",$arg2)."<br>";
echo sprintf("%%f = %f",$arg1)."<br>";
echo sprintf("%%f = %f",$arg2)."<br>";
echo sprintf("%%g = %g",$arg1)."<br>";
echo sprintf("%%g = %g",$arg2)."<br>";
echo sprintf("%%o = %o",$arg1)."<br>";
echo sprintf("%%o = %o",$arg2)."<br>";
echo sprintf("%%x = %x",$arg1)."<br>";
echo sprintf("%%x = %x",$arg2)."<br>";
echo sprintf("%%s = %s",$arg1)."<br>";
echo sprintf("%%s = %s",$arg2)."<br>";
echo sprintf("%%E = %E",$arg1)."<br>";
echo sprintf("%%F = %F",$arg1)."<br>";
echo sprintf("%%G = %G",$arg1)."<br>";
echo sprintf("%%X = %X",$arg1)."<br>";
echo sprintf("%%+d = %+d",$arg1)."<br>";
echo sprintf("%%+d = %+d",$arg2)."<br>";
?>
</body>
</html>

Output:

sprintf in PHP

So here we have shown all the format specifiers.

With this, we shall conclude the topic ‘sprintf in php’. We have seen the syntax of sprintf() function in PHP. We have seen what each format specifier means and have Illustrated few examples on how to use sprintf in PHP. The above examples will give a clear understanding of all the format specifiers.

Das obige ist der detaillierte Inhalt vonsprintf in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:Variablen in PHPNächster Artikel:Variablen in PHP