当前位置: 首页> 函数类别大全> sprintf

sprintf

返回格式化的字符串
名称:sprintf
分类:字符串
所属语言:php
一句话介绍:把格式化的字符串写入变量中。

实例

例子 1

把百分号(%)符号替换成一个作为参数进行传递的变量:

<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>

亲自试一试

例子 2

使用格式值 %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>

亲自试一试

例子 3

使用占位符:

<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">"带两位小数:%1\$.2f
<br>不带小数:%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>

亲自试一试

例子 4

对所有可能的格式值的演示:

<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 字符 50 是 2</span>

<span class="token comment">// 注释:格式值 "%%" 返回百分号</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">// 二进制数</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 字符</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">// 带符号的十进制数</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">// 带符号的十进制数</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">// 科学计数法(小写)</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">// 科学计数法(大写)</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">// 不带符号的十进制数(正)</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">// 不带符号的十进制数(负)</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">// 浮点数(视本地设置)</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">// 浮点数(不视本地设置)</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">// 短于 %e 和 %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">// 短于 %E 和 %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">// 八进制数</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">// 字符串</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">// 十六进制数(小写)</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">// 十六进制数(大写)</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">// 符号说明符(正)</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">// 符号说明符(负)</span>
<span class="token delimiter important">?></span></span>

亲自试一试

例子 5

对字符串说明符的演示:

<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>

亲自试一试

同类函数
  • 反转义一个转义的字符串 stripslashes

    stripslashes

    反转义一个转义的字符串
  • 将特殊的 HTML 实体转换回普通字符 htmlspecialchars_decode

    htmlspecialchars_decode

    将特殊的HTML实体转换回普通字符
  • 将数字格式化成货币字符串 money_format

    money_format

    将数字格式化成货币字符串
  • str_replace的不区分大小写的版本 str_ireplace

    str_ireplace

    str_replace的不区分大小写的版
  • 计算给定文件的md5哈希值 md5_file

    md5_file

    计算给定文件的md5哈希值
  • 将字符串拆分为较小的块 chunk_split

    chunk_split

    将字符串拆分为较小的块
  • 返回有关字符串中使用的单词的信息 str_word_count

    str_word_count

    返回有关字符串中使用的单词的信息
  • 使用“自然顺序”算法进行字符串比较 strnatcmp

    strnatcmp

    使用“自然顺序”算法进行字符串比较