當前位置: 首頁> 函數類別大全> 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">$</span> number <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">"[%&#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>

親自試一試

同類函數
  • 單向字符串散列 crypt

    crypt

    單向字符串散列
  • 將數字格式化成貨幣字符串 money_format

    money_format

    將數字格式化成貨幣字符串
  • 計算字符串的soundex鍵 soundex

    soundex

    計算字符串的soundex鍵
  • 查找字符串的首次出現 strstr

    strstr

    查找字符串的首次出現
  • 檢查字符串是否以給定的子字符串結尾 str_ends_with

    str_ends_with

    檢查字符串是否以給定的子字符串結尾
  • 打斷字符串為指定數量的字串 wordwrap

    wordwrap

    打斷字符串為指定數量的字串
  • 反引用一個使用addcslashes() 轉義的字符串 stripcslashes

    stripcslashes

    反引用一個使用addcslashes()
  • 將字符串的第一個字符設為大寫 ucfirst

    ucfirst

    將字符串的第一個字符設為大寫