你好今天我读到有关printf在PHP.printf超出格式化的字符串.我有一个字符串.我正要格式化浮点字符串
$str = printf('%.1f',5.3);
Run Code Online (Sandbox Code Playgroud)
我知道格式的%.1f意思.这里1是小数位数.如果我echo $str喜欢
echo $str;
Run Code Online (Sandbox Code Playgroud)
它输出
5.33
Run Code Online (Sandbox Code Playgroud)
我可以理解输出因为5.3是字符串而3是outputed字符串的长度,它是返回值printf.
但请参阅我的以下代码
$str = printf('%.1f', '5.34');
echo 'ABC';
echo $str;
Run Code Online (Sandbox Code Playgroud)
它输出
5.3ABC3
Run Code Online (Sandbox Code Playgroud)
我想知道它是怎么回事?如果我们简单的PHP插值它应该输出ABC第一,那么它应该输出5.33,因为我们只是格式化5.33没有ABC.
任何人都可以指导我这里发生了什么吗?
Place echo "<br>" after every line.You will understand how it is happening.
$str = printf('%.1f', '5.34'); output is 5.3
echo "<br>";
echo 'ABC'; output is ABC
echo "<br>";
echo $str; output is 3
Run Code Online (Sandbox Code Playgroud)