我刚刚开始自学使用PHP编码。我正在使用的教程向我抛出了这个:
echo "Circumference of a circle with radius $x is ".sprintf("%4.2f",(2 * $x * pi()))."<br />";
我已经能够弄清楚其中大部分是什么,除了数字 4。根据 PHP 手册,sprintf 函数中 % 符号后面的数字是:
a width specifier that says how many characters (minimum) this conversion should result in.
但是,如果 $x = 1,则输出为"6.28",这显然不是 4 位数字。无论我将 4 更改为哪个数字,输出都保持不变。即使我完全删除了 4,使其显示为"%.2f",输出仍然保持不变。唯一似乎有任何影响的是,如果我将 4 更改为一个非常大的数字,例如 1000000000。然后,我收到一个错误:
Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 1006632960 bytes)
那么这4到底是要做什么的呢?
它完全按照它所说的去做,如果你查看页面源代码,你可以看到。HTML 布局引擎将所有空格折叠成一个空格标记,这就是为什么如果您查看处理后的输出,您将永远不会看到它。