我有以下代码片段,我不太了解它的输出:
echo 20...7;
Run Code Online (Sandbox Code Playgroud)
为什么这个代码输出200.7?
据我所知...,splat运算符在ruby中调用,它允许你有一个带有可变数量参数的函数,但我不明白它在上下文中的作用echo.
任何人都可以解释这段代码的确切含义
Yve*_*org 14
不,这不是splat/unpacking操作符,即使它看起来像是这样.这只是PHP解析过程的结果.已经编写了一些不同的代码可能会让人感到困惑:
echo 20. . .7;
# ? ? ?
# decimal concatenation decimal
# dot dot dot
Run Code Online (Sandbox Code Playgroud)
现在你必须知道那.7是0.7你可以省略PHP中的0,如浮点数的语法中所述:
DNUM ([0-9]*[\.]{LNUM}) | ({LNUM}[\.][0-9]*)
Run Code Online (Sandbox Code Playgroud)
因此,PHP只是将这两个数字连接在一起,而这样做PHP的类型juggling将默默地将两个数字转换为字符串.
所以最后你的代码相当于:
echo "20" . "0.7";
//Output: "200.7"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
326 次 |
| 最近记录: |