PHP printfとsprintfの違い
PHPでフォーマットをしようとして調べていたら、
printfとsprintfの違いがよくわかりません・・・
printfとvprintfの違いは、
引数に配列を受け取るかどうかの違いらしい
これはわかった!
でも、マニュアルを見比べても、
やっぱりprintfとsprintfの違いがよくわかりません・・・
PHP: printf - Manual
PHP: sprintf - Manual
困ったので挙動を確かめるために、
マニュアルの解説をコメントに入れながら実際に動かしてみることにしました
echo '<p>printf フォーマット済みの文字列を出力する</p>'; printf('こんにちは%sです', '陳念'); echo '<p>sprintf フォーマットされた文字列を返す</p>';
ここまで打って気が付きました・・・!
printf フォーマット済みの文字列を出力する
sprintf フォーマットされた文字列を返す
あ~~~~!
出力するか、値を戻すかの違いか!
つまり、このような感じで、
引数に配列を取るかとらないか、出力するか値を戻すかで4種類あったんですね
引数がmixedなやつ
出力する > printf
値を戻す > sprintf
引数に配列を取るやつ
出力する > vprintf
値を戻す > vsprintf
こんな簡単なところで悩むとは・・・
というわけで、さきほどの続きは、
こういう感じになるわけですね
$greeting = sprintf('こんにちは%sです', '陳念'); echo $greeting;

- 作者:大重 美幸
- 発売日: 2016/07/01
- メディア: 単行本
勉強します