sprintf
Returns the formatted string
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>
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>
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>
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>
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">"[%'*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>