sprintf
フォーマットされた文字列を返します
パーセント記号(%)シンボルをパラメーターとして渡された変数に置き換えます。
<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 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 variable">"</span> <span class="token string double-quoted-string">%</span> <span class="token variable">s</span> <span class="token punctuation">。</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>
フォーマット値%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>
プレースホルダーを使用してください:
<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">"小数点以下の2つの場所:%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>
すべての可能な形式値のデモンストレーション:
<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">$</span> <span class="token punctuation">num2</span> <span class="token operator">=</span> <span class="token operator">-123456789</span> <span class="token number">;</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">エコー</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">エコー</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">エコー</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">//署名された10進番号</span> <span class="token keyword">エコー</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">//署名された10進番号</span> <span class="token keyword">エコー</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">エコー</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">//科学表記(CAPS)</span> <span class="token keyword">エコー</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">エコー</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">エコー</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">エコー</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">エコー</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">エコー</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">エコー</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番号</span> <span class="token keyword">エコー</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">// 16進数(小文字)</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">// 16進数(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">//シンボル仕様(ポジティブ)</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>
文字列仕様のデモンストレーション:
<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>