【问题标题】:Why is 1...2 equivalent to "10.2" in PHP? [duplicate]为什么 1...2 相当于 PHP 中的“10.2”? [复制]
【发布时间】:2019-12-31 01:49:13
【问题描述】:

就在一秒钟前,我还在玩 PHP,试图弄清楚是否有原生范围函数(最终找到 range)。但是,我尝试过的其中一件事是:

echo 1...2;

令我惊讶的是它返回了字符串"10.2"。谁能告诉我究竟是什么语法对此负责?对于 splat 操作员来说,这似乎不是一个有效的地方。

【问题讨论】:

  • 你试过1...2,这是什么意思?这个问题有很多遗漏,如果你指的是一些代码,你需要包含它,而不是模糊地提到它
  • @tim 你可以用echo 1...2;复制它
  • 是的,至少这是有效的代码,谢谢@Barmar
  • @tim 对不起,这个问题完全不清楚。使用 Laravel 的项目使用 PHP REPL(PsySH,更名为“tinker”)。有时我忘记了其他 PHP 开发人员不经常使用 REPL。因此,任何 表达式 本质上都会得到回显,但实际上略有不同。

标签: php type-conversion operators symbols


【解决方案1】:

语句由三部分组成: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

【讨论】:

    猜你喜欢
    • 2015-12-21
    • 1970-01-01
    • 1970-01-01
    • 2020-03-28
    • 2011-12-04
    • 1970-01-01
    • 1970-01-01
    • 2014-07-25
    • 2018-05-27
    相关资源
    最近更新 更多