为什么 1...2 等于 PHP 中的“10.2”?
Why is 1...2 equivalent to "10.2" in PHP?
就在一秒钟前,我还在玩 PHP,试图弄清楚是否有原生范围函数(最终找到 range
)。但是,我尝试过的其中一件事如下:
echo 1...2;
令我惊讶的是 returns 字符串 "10.2"
。谁能确切地告诉我是什么语法造成的?它似乎不是 splat 运算符的有效位置。
语句由三部分组成:1.
、.
和.2
。第一个计算结果为数字 1
,第二个计算结果为字符串连接运算符,最后一个计算结果为 0.2
。因此,你得到 10.2
.
等效示例代码:
$a = 1.;
$b = .2;
echo "a = $a\n";
echo "b = $b\n";
echo "a.b = ".($a.$b)."\n";
产出
a = 1
b = 0.2
a.b = 10.2
就在一秒钟前,我还在玩 PHP,试图弄清楚是否有原生范围函数(最终找到 range
)。但是,我尝试过的其中一件事如下:
echo 1...2;
令我惊讶的是 returns 字符串 "10.2"
。谁能确切地告诉我是什么语法造成的?它似乎不是 splat 运算符的有效位置。
语句由三部分组成:1.
、.
和.2
。第一个计算结果为数字 1
,第二个计算结果为字符串连接运算符,最后一个计算结果为 0.2
。因此,你得到 10.2
.
等效示例代码:
$a = 1.;
$b = .2;
echo "a = $a\n";
echo "b = $b\n";
echo "a.b = ".($a.$b)."\n";
产出
a = 1
b = 0.2
a.b = 10.2