gpt4 book ai didi

php - 为什么 '...' 在我的代码中连接两个数字?

转载 作者:行者123 更新时间:2023-12-03 00:06:39 25 4
gpt4 key购买 nike

我有以下代码片段,但我不太理解其输出:

echo 20...7;

为什么这段代码输出 200.7

据我所知 ... 是 splat 运算符,在 ruby​​ 中称为它,它允许您拥有一个具有可变数量参数的函数,但我不明白它在 echo 的上下文中做什么。 .

谁能解释一下这段代码到底做了什么?

最佳答案

不,这不是 splat/unpacking 操作符,即使它看起来可能是这样。这只是 PHP 解析过程的结果。已经编写了一些不同的代码可能会消除一些困惑:

echo  20.           .           .7;
# ↑ ↑ ↑
# decimal concatenation decimal
# dot dot dot

现在您必须知道 .70.7 并且您可以在 PHP 中省略 0,如 syntax for float numbers 中所述。 :

DNUM          ([0-9]*[\.]{LNUM}) | ({LNUM}[\.][0-9]*)

所以 PHP 只是将这两个数字连接在一起,在执行此操作时,PHP 的类型杂耍将 silently convert both numbers to strings .

所以最后你的代码相当于:

echo "20" . "0.7";
//Output: "200.7"

关于php - 为什么 '...' 在我的代码中连接两个数字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44023765/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com