PHP中的点运算符

时间:2011-07-15 08:37:24

标签: php operators

我认为我已经足够了解String Operator .,直到我今天被问到有关它的问题。问题看起来很简单:

echo 100...100;

乍一看,我认为会出现语法错误。但是当我运行代码并看到结果时,我完全感到困惑。结果是

1000.1

所以我想知道这怎么可能发生?

感谢。

4 个答案:

答案 0 :(得分:11)

这样读:

(100.) . (.100)

因此它会结束1000.1

答案 1 :(得分:8)

假设你的意思

echo 100...100;

这样做的原因是PHP的美丽。 :) 该陈述被理解为

100. . .100

相当于

100.0 . 0.1

< =>

'100' . '0.1'

< =>

'1000.1'

答案 2 :(得分:2)

您可以将其视为echo 100 . 0.1

答案 3 :(得分:1)

实际上,只有在没有引号的情况下才能起作用:

echo "100...100";   100...100  << with quotes the . is just a char

echo 100 . 100;     100100     << two concatenated strings "100"

echo 100.100;       100.1      << 100.100 is just a number

echo 100...100;     1000.1     << what you asked

echo 100. . .100;   1000.1     << what PHP actually interprets