为什么1 ... 1评估为10.1?

吉诺·潘

我刚刚面对3v4l的一些PHP代码段:https://3v4l.org/jmrZB

echo 1...1; //10.1

而且我恐怕不知道如何解释其结果。为什么认为这完全有效?

缺氧

点(.)在PHP中有两个作用:

  1. 作为十进制数字,如果它是实数的一部分,例如1.1整数部分和小数部分在实数上都是可选的,但不能同时使用这意味着1..1在PHP中都是有效的实数,但.不是数字。
  2. 作为字符串连接运算符该运算符将两个字符串子表达式连接成一个较大的表达式。较大表达式的值是子表达式的字符串值的串联。不是字符串的子表达式在连接之前会转换为字符串。
    例如1 . 1与相同'1' . '1',其值为字符串'11'

该表达式1...1被解析为1. . .1根据以上所述,1..1是实数(1.00.1),中间的点(.)是字符串连接运算符。

将数字转换为字符串时,PHP使用此操作所需的最少字符数。如果实数仅具有整数部分,则它将实数表示为整数,不带小数点和小数。

这就是为什么和表达式的最终值1. . .1是相同的原因'1' . '0.1'10.1

为什么要这样1...1解析?

解析器从左到右读取表达式。1告诉它一个数字从那里开始。1.是有效的实数,但1..不是。它保持1.为数字,然后下一个点是串联运算符。下一个.,后跟一个数字,是另一个实数(.1的开头

总而言之,1...1与相同1. . .1

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

为什么(reduce * [])评估为1?

来自分类Dev

为什么1 === 1 === 1为假?

来自分类Dev

为什么-1 >> 1计算为-1?

来自分类常见问题

为什么(x – y <= j – k – 1)评估为FALSE?

来自分类Dev

为什么10 ^ 1是11?

来自分类Dev

为什么+ !! {}等于1?

来自分类Dev

为什么是'if(1 == 1 == 1 == 1 == 1);' 正确,但'if(-1 == -1 == -1 == -1 == -1);' 假?

来自分类Dev

为什么1 +'1'='11'但1 *'1'= 1

来自分类Dev

为什么为 dx[dir 选择值 {1, 1, 0, -1, -1, -1, 0, 1} 和 {0, 1, 1, 1, 0, -1, -1, -1} ] 和 dy[dir]?

来自分类Dev

为什么将“((Double.MinValue + 1)> Double.MinValue”)评估为false?

来自分类Dev

为什么(“ 00e0” ==“ 00e1”)评估为true?

来自分类Dev

为什么`to_unsigned(0,4)> = -1`在运行时评估为“ FALSE”?

来自分类Dev

为什么 SQL Server 不在位列中将 -1 评估为 True?

来自分类Dev

为什么 '1' + '1' = 98 和 '1' + 1 = 50?

来自分类Dev

为什么结果输出为1

来自分类Dev

为什么在JavaScript中“〜undefined”为-1?

来自分类Dev

为什么“ echo !!! 0”输出为1?

来自分类Dev

为什么[] .append(1)为None

来自分类Dev

为什么结果输出为1

来自分类Dev

为什么在JavaScript中(([[] === [])+ /-/)[1] ='a'和(1 + {})[(1 << 1)+1] ='b'是为什么?

来自分类Dev

为什么sizeHint()是QSize(-1,-1)?

来自分类Dev

PHP计算-为什么1 + 1 = 3?

来自分类Dev

Matlab:为什么'1'+ 1 == 50?

来自分类Dev

为什么!0等于1而不是-1?

来自分类Dev

为什么#if 0 vs #if(1> 1)?

来自分类Dev

C编程:为什么(0 || -1)== 1?

来自分类Dev

为什么Perl认为1 <<-1是9223372036854775808?

来自分类Dev

为什么sizeHint()是QSize(-1,-1)?

来自分类Dev

为什么#if 0 vs #if(1> 1)?

Related 相关文章

  1. 1

    为什么(reduce * [])评估为1?

  2. 2

    为什么1 === 1 === 1为假?

  3. 3

    为什么-1 >> 1计算为-1?

  4. 4

    为什么(x – y <= j – k – 1)评估为FALSE?

  5. 5

    为什么10 ^ 1是11?

  6. 6

    为什么+ !! {}等于1?

  7. 7

    为什么是'if(1 == 1 == 1 == 1 == 1);' 正确,但'if(-1 == -1 == -1 == -1 == -1);' 假?

  8. 8

    为什么1 +'1'='11'但1 *'1'= 1

  9. 9

    为什么为 dx[dir 选择值 {1, 1, 0, -1, -1, -1, 0, 1} 和 {0, 1, 1, 1, 0, -1, -1, -1} ] 和 dy[dir]?

  10. 10

    为什么将“((Double.MinValue + 1)> Double.MinValue”)评估为false?

  11. 11

    为什么(“ 00e0” ==“ 00e1”)评估为true?

  12. 12

    为什么`to_unsigned(0,4)> = -1`在运行时评估为“ FALSE”?

  13. 13

    为什么 SQL Server 不在位列中将 -1 评估为 True?

  14. 14

    为什么 '1' + '1' = 98 和 '1' + 1 = 50?

  15. 15

    为什么结果输出为1

  16. 16

    为什么在JavaScript中“〜undefined”为-1?

  17. 17

    为什么“ echo !!! 0”输出为1?

  18. 18

    为什么[] .append(1)为None

  19. 19

    为什么结果输出为1

  20. 20

    为什么在JavaScript中(([[] === [])+ /-/)[1] ='a'和(1 + {})[(1 << 1)+1] ='b'是为什么?

  21. 21

    为什么sizeHint()是QSize(-1,-1)?

  22. 22

    PHP计算-为什么1 + 1 = 3?

  23. 23

    Matlab:为什么'1'+ 1 == 50?

  24. 24

    为什么!0等于1而不是-1?

  25. 25

    为什么#if 0 vs #if(1> 1)?

  26. 26

    C编程:为什么(0 || -1)== 1?

  27. 27

    为什么Perl认为1 <<-1是9223372036854775808?

  28. 28

    为什么sizeHint()是QSize(-1,-1)?

  29. 29

    为什么#if 0 vs #if(1> 1)?

热门标签

归档