Current Location: Home> Function Categories> sprintf

sprintf

Returns the formatted string
Name:sprintf
Category:String
Programming Language:php
One-line Description:Write the formatted string into the variable.

Example

Example 1

Replace the percent sign (%) symbol with a variable passed as a parameter:

 <span class="token php language-php"><span class="token delimiter important"><?php</span>
<span class="token variable">$number</span> <span class="token operator">=</span> <span class="token number">2</span> <span class="token punctuation">;</span>
<span class="token variable">$str</span> <span class="token operator">=</span> <span class="token string double-quoted-string">"Shanghai"</span> <span class="token punctuation">;</span>
<span class="token variable">$txt</span> <span class="token operator">=</span> <span class="token function">sprintf</span> <span class="token punctuation">(</span> <span class="token string double-quoted-string">"There are %u million cars in %s."</span> <span class="token punctuation">,</span> <span class="token variable">$number</span> <span class="token punctuation">,</span> <span class="token variable">$str</span> <span class="token punctuation">)</span> <span class="token punctuation">;</span>
<span class="token keyword">echo</span> <span class="token variable">$txt</span> <span class="token punctuation">;</span>
<span class="token delimiter important">?></span></span>

Try it yourself

Example 2

Use the format value %f:

 <span class="token php language-php"><span class="token delimiter important"><?php</span>
<span class="token variable">$number</span> <span class="token operator">=</span> <span class="token number">123</span> <span class="token punctuation">;</span>
<span class="token variable">$txt</span> <span class="token operator">=</span> <span class="token function">sprintf</span> <span class="token punctuation">(</span> <span class="token string double-quoted-string">"%f"</span> <span class="token punctuation">,</span> <span class="token variable">$number</span> <span class="token punctuation">)</span> <span class="token punctuation">;</span>
<span class="token keyword">echo</span> <span class="token variable">$txt</span> <span class="token punctuation">;</span>
<span class="token delimiter important">?></span></span>

Try it yourself

Example 3

Use placeholders:

 <span class="token php language-php"><span class="token delimiter important"><?php</span>
<span class="token variable">$number</span> <span class="token operator">=</span> <span class="token number">123</span> <span class="token punctuation">;</span>
<span class="token variable">$txt</span> <span class="token operator">=</span> <span class="token function">sprintf</span> <span class="token punctuation">(</span> <span class="token string double-quoted-string">"with two decimal places: %1\$.2f
<br>No decimals: %1\$u"</span> <span class="token punctuation">,</span> <span class="token variable">$number</span> <span class="token punctuation">)</span> <span class="token punctuation">;</span>
<span class="token keyword">echo</span> <span class="token variable">$txt</span> <span class="token punctuation">;</span>
<span class="token delimiter important">?></span></span>

Try it yourself

Example 4

Demonstration of all possible format values:

 <span class="token php language-php"><span class="token delimiter important"><?php</span>
<span class="token variable">$num1</span> <span class="token operator">=</span> <span class="token number">123456789</span> <span class="token punctuation">;</span>
<span class="token variable">$num2</span> <span class="token operator">=</span> <span class="token operator">-</span> <span class="token number">123456789</span> <span class="token punctuation">;</span>
<span class="token variable">$char</span> <span class="token operator">=</span> <span class="token number">50</span> <span class="token punctuation">;</span> <span class="token comment">// ASCII character 50 is 2</span>

<span class="token comment">// Comment: Format value "%%" returns a percent sign</span>
<span class="token keyword">echo</span> <span class="token function">sprintf</span> <span class="token punctuation">(</span> <span class="token string double-quoted-string">"%%b = %b"</span> <span class="token punctuation">,</span> <span class="token variable">$num1</span> <span class="token punctuation">)</span> <span class="token operator">.</span> <span class="token string double-quoted-string">"<br>"</span> <span class="token punctuation">;</span> <span class="token comment">// Binary number</span>
<span class="token keyword">echo</span> <span class="token function">sprintf</span> <span class="token punctuation">(</span> <span class="token string double-quoted-string">"%%c = %c"</span> <span class="token punctuation">,</span> <span class="token variable">$char</span> <span class="token punctuation">)</span> <span class="token operator">.</span> <span class="token string double-quoted-string">"<br>"</span> <span class="token punctuation">;</span> <span class="token comment">// ASCII characters</span>
<span class="token keyword">echo</span> <span class="token function">sprintf</span> <span class="token punctuation">(</span> <span class="token string double-quoted-string">"%%d = %d"</span> <span class="token punctuation">,</span> <span class="token variable">$num1</span> <span class="token punctuation">)</span> <span class="token operator">.</span> <span class="token string double-quoted-string">"<br>"</span> <span class="token punctuation">;</span> <span class="token comment">// Signed decimal number</span>
<span class="token keyword">echo</span> <span class="token function">sprintf</span> <span class="token punctuation">(</span> <span class="token string double-quoted-string">"%%d = %d"</span> <span class="token punctuation">,</span> <span class="token variable">$num2</span> <span class="token punctuation">)</span> <span class="token operator">.</span> <span class="token string double-quoted-string">"<br>"</span> <span class="token punctuation">;</span> <span class="token comment">// Signed decimal number</span>
<span class="token keyword">echo</span> <span class="token function">sprintf</span> <span class="token punctuation">(</span> <span class="token string double-quoted-string">"%%e = %e"</span> <span class="token punctuation">,</span> <span class="token variable">$num1</span> <span class="token punctuation">)</span> <span class="token operator">.</span> <span class="token string double-quoted-string">"<br>"</span> <span class="token punctuation">;</span> <span class="token comment">// Scientific notation (lowercase)</span>
<span class="token keyword">echo</span> <span class="token function">sprintf</span> <span class="token punctuation">(</span> <span class="token string double-quoted-string">"%%E = %E"</span> <span class="token punctuation">,</span> <span class="token variable">$num1</span> <span class="token punctuation">)</span> <span class="token operator">.</span> <span class="token string double-quoted-string">"<br>"</span> <span class="token punctuation">;</span> <span class="token comment">// Scientific notation (caps)</span>
<span class="token keyword">echo</span> <span class="token function">sprintf</span> <span class="token punctuation">(</span> <span class="token string double-quoted-string">"%%u = %u"</span> <span class="token punctuation">,</span> <span class="token variable">$num1</span> <span class="token punctuation">)</span> <span class="token operator">.</span> <span class="token string double-quoted-string">"<br>"</span> <span class="token punctuation">;</span> <span class="token comment">// Unsigned decimal number (positive)</span>
<span class="token keyword">echo</span> <span class="token function">sprintf</span> <span class="token punctuation">(</span> <span class="token string double-quoted-string">"%%u = %u"</span> <span class="token punctuation">,</span> <span class="token variable">$num2</span> <span class="token punctuation">)</span> <span class="token operator">.</span> <span class="token string double-quoted-string">"<br>"</span> <span class="token punctuation">;</span> <span class="token comment">// Unsigned decimal number (negative)</span>
<span class="token keyword">echo</span> <span class="token function">sprintf</span> <span class="token punctuation">(</span> <span class="token string double-quoted-string">"%%f = %f"</span> <span class="token punctuation">,</span> <span class="token variable">$num1</span> <span class="token punctuation">)</span> <span class="token operator">.</span> <span class="token string double-quoted-string">"<br>"</span> <span class="token punctuation">;</span> <span class="token comment">// Floating point number (depending on local settings)</span>
<span class="token keyword">echo</span> <span class="token function">sprintf</span> <span class="token punctuation">(</span> <span class="token string double-quoted-string">"%%F = %F"</span> <span class="token punctuation">,</span> <span class="token variable">$num1</span> <span class="token punctuation">)</span> <span class="token operator">.</span> <span class="token string double-quoted-string">"<br>"</span> <span class="token punctuation">;</span> <span class="token comment">// Floating point number (not depending on local settings)</span>
<span class="token keyword">echo</span> <span class="token function">sprintf</span> <span class="token punctuation">(</span> <span class="token string double-quoted-string">"%%g = %g"</span> <span class="token punctuation">,</span> <span class="token variable">$num1</span> <span class="token punctuation">)</span> <span class="token operator">.</span> <span class="token string double-quoted-string">"<br>"</span> <span class="token punctuation">;</span> <span class="token comment">// Shorter than %e and %f</span>
<span class="token keyword">echo</span> <span class="token function">sprintf</span> <span class="token punctuation">(</span> <span class="token string double-quoted-string">"%%G = %G"</span> <span class="token punctuation">,</span> <span class="token variable">$num1</span> <span class="token punctuation">)</span> <span class="token operator">.</span> <span class="token string double-quoted-string">"<br>"</span> <span class="token punctuation">;</span> <span class="token comment">// Shorter than %E and %f</span>
<span class="token keyword">echo</span> <span class="token function">sprintf</span> <span class="token punctuation">(</span> <span class="token string double-quoted-string">"%%o = %o"</span> <span class="token punctuation">,</span> <span class="token variable">$num1</span> <span class="token punctuation">)</span> <span class="token operator">.</span> <span class="token string double-quoted-string">"<br>"</span> <span class="token punctuation">;</span> <span class="token comment">// Octal number</span>
<span class="token keyword">echo</span> <span class="token function">sprintf</span> <span class="token punctuation">(</span> <span class="token string double-quoted-string">"%%s = %s"</span> <span class="token punctuation">,</span> <span class="token variable">$num1</span> <span class="token punctuation">)</span> <span class="token operator">.</span> <span class="token string double-quoted-string">"<br>"</span> <span class="token punctuation">;</span> <span class="token comment">// String</span>
<span class="token keyword">echo</span> <span class="token function">sprintf</span> <span class="token punctuation">(</span> <span class="token string double-quoted-string">"%%x = %x"</span> <span class="token punctuation">,</span> <span class="token variable">$num1</span> <span class="token punctuation">)</span> <span class="token operator">.</span> <span class="token string double-quoted-string">"<br>"</span> <span class="token punctuation">;</span> <span class="token comment">// Hexadecimal number (lowercase)</span>
<span class="token keyword">echo</span> <span class="token function">sprintf</span> <span class="token punctuation">(</span> <span class="token string double-quoted-string">"%%X = %X"</span> <span class="token punctuation">,</span> <span class="token variable">$num1</span> <span class="token punctuation">)</span> <span class="token operator">.</span> <span class="token string double-quoted-string">"<br>"</span> <span class="token punctuation">;</span> <span class="token comment">// Hexadecimal number (caps)</span>
<span class="token keyword">echo</span> <span class="token function">sprintf</span> <span class="token punctuation">(</span> <span class="token string double-quoted-string">"%%+d = %+d"</span> <span class="token punctuation">,</span> <span class="token variable">$num1</span> <span class="token punctuation">)</span> <span class="token operator">.</span> <span class="token string double-quoted-string">"<br>"</span> <span class="token punctuation">;</span> <span class="token comment">// Symbol specifier (positive)</span>
<span class="token keyword">echo</span> <span class="token function">sprintf</span> <span class="token punctuation">(</span> <span class="token string double-quoted-string">"%%+d = %+d"</span> <span class="token punctuation">,</span> <span class="token variable">$num2</span> <span class="token punctuation">)</span> <span class="token operator">.</span> <span class="token string double-quoted-string">"<br>"</span> <span class="token punctuation">;</span> <span class="token comment">// Symbol specifier (negative)</span>
<span class="token delimiter important">?></span></span>

Try it yourself

Example 5

Demonstration of string specifiers:

 <span class="token php language-php"><span class="token delimiter important"><?php</span>
<span class="token variable">$str1</span> <span class="token operator">=</span> <span class="token string double-quoted-string">"Hello"</span> <span class="token punctuation">;</span>
<span class="token variable">$str2</span> <span class="token operator">=</span> <span class="token string double-quoted-string">"Hello world!"</span> <span class="token punctuation">;</span>

<span class="token keyword">echo</span> <span class="token function">sprintf</span> <span class="token punctuation">(</span> <span class="token string double-quoted-string">"[%s]"</span> <span class="token punctuation">,</span> <span class="token variable">$str1</span> <span class="token punctuation">)</span> <span class="token operator">.</span> <span class="token string double-quoted-string">"<br>"</span> <span class="token punctuation">;</span>
<span class="token keyword">echo</span> <span class="token function">sprintf</span> <span class="token punctuation">(</span> <span class="token string double-quoted-string">"[%8s]"</span> <span class="token punctuation">,</span> <span class="token variable">$str1</span> <span class="token punctuation">)</span> <span class="token operator">.</span> <span class="token string double-quoted-string">"<br>"</span> <span class="token punctuation">;</span>
<span class="token keyword">echo</span> <span class="token function">sprintf</span> <span class="token punctuation">(</span> <span class="token string double-quoted-string">"[%-8s]"</span> <span class="token punctuation">,</span> <span class="token variable">$str1</span> <span class="token punctuation">)</span> <span class="token operator">.</span> <span class="token string double-quoted-string">"<br>"</span> <span class="token punctuation">;</span>
<span class="token keyword">echo</span> <span class="token function">sprintf</span> <span class="token punctuation">(</span> <span class="token string double-quoted-string">"[%08s]"</span> <span class="token punctuation">,</span> <span class="token variable">$str1</span> <span class="token punctuation">)</span> <span class="token operator">.</span> <span class="token string double-quoted-string">"<br>"</span> <span class="token punctuation">;</span>
<span class="token keyword">echo</span> <span class="token function">sprintf</span> <span class="token punctuation">(</span> <span class="token string double-quoted-string">"[%&#39;*8s]"</span> <span class="token punctuation">,</span> <span class="token variable">$str1</span> <span class="token punctuation">)</span> <span class="token operator">.</span> <span class="token string double-quoted-string">"<br>"</span> <span class="token punctuation">;</span>
<span class="token keyword">echo</span> <span class="token function">sprintf</span> <span class="token punctuation">(</span> <span class="token string double-quoted-string">"[%8.8s]"</span> <span class="token punctuation">,</span> <span class="token variable">$str2</span> <span class="token punctuation">)</span> <span class="token operator">.</span> <span class="token string double-quoted-string">"<br>"</span> <span class="token punctuation">;</span>
<span class="token delimiter important">?></span></span>

Try it yourself