Php 为什么'';在我的代码中连接两个数字?
我有以下代码片段,但我并不真正理解其输出:Php 为什么'';在我的代码中连接两个数字?,php,numbers,echo,Php,Numbers,Echo,我有以下代码片段,但我并不真正理解其输出: echo 20...7; 为什么此代码输出200.7 据我所知,是splat操作符,它在ruby中被调用,它让你有一个参数数目可变的函数,但我不明白它在echo上下文中的作用 有人能解释一下这段代码到底是做什么的吗?不,这不是splat/unpacking操作符,尽管看起来可能是这样。这只是PHP解析过程的结果。已经编写了一些不同的代码可能会消除一些混淆: echo 20. . .7; # ↑
echo 20...7;
为什么此代码输出200.7
据我所知,是splat操作符,它在ruby中被调用,它让你有一个参数数目可变的函数,但我不明白它在echo
上下文中的作用
有人能解释一下这段代码到底是做什么的吗?不,这不是splat/unpacking操作符,尽管看起来可能是这样。这只是PHP解析过程的结果。已经编写了一些不同的代码可能会消除一些混淆:
echo 20. . .7;
# ↑ ↑ ↑
# decimal concatenation decimal
# dot dot dot
现在您必须知道.7
是0.7
,您可以在PHP中省略0,如下所述:
因此,PHP只是将这两个数字连接在一起,在执行此操作时,PHP的类型转换将
因此,最终您的代码相当于:
echo "20" . "0.7";
//Output: "200.7"
一式两份。你们两个在同一个班@Rizier123我重新打开了它。可能是因为我在facebook的一个it群上发布了相同的问题,但没有人能够回答it@MartinPHP将
12..6
解释为12。6
基本上是12 0.6
,由于这两个数字之间没有任何运算符,PHP不知道要做什么。更准确地说,PHP解析20…7
与20…相同。7这只是编写20.0的另一种方式。0.7
@axiac right,我的评论中有正确的版本,will-rix。
echo "20" . "0.7";
//Output: "200.7"