2017-03-20 11 views
0

PHPを使用してコードを作成するようになったばかりです。私が使用しているチュートリアルでは、私にこれを投げた:PHP sprintf関数の「幅指定子」の理解

echo "Circumference of a circle with radius $x is ".sprintf("%4.2f",(2 * $x * pi()))."<br />";

私はPHPのマニュアルによると4番、後の数字を除いて、これのほとんどが何であるかを把握することができましたsprintf関数における%記号は$ X = 1の場合は、出力は明らかに4桁ではない "6.28" である

a width specifier that says how many characters (minimum) this conversion should result in.

。どんな数にしても4を変えても出力は変わりません。 4を完全に削除しても "%.2f"と表示されても、出力は変更されません。私はその後1000000000のように、大規模な大量に4を変更した場合の影響を持っているように見えるだけの事はある、私はエラーを取得:

Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 1006632960 bytes)

だから、まさに4が何を意図していることは何か?

答えて

0

ページソースを見ればわかるように、それはそれが言うこととまったく同じです。 HTMLレイアウトエンジンは、すべてのスペースを単一の空白トークンに折り畳んでいます。なぜなら、処理された出力を見れば、それを見ることができないからです。

+0

ああ、わかりましたので、小数点は文字としてカウントされ、必要な文字を追加するための空白が作成されます。 ありがとうございます! – linkskywalker