缺少PHP中的连接部分

Waq*_*qar -2 php

这是代码:

 <?php 

      for($i =0, $x = 100 ; $i<1; $i++){

      echo $x .  'y' . $i+1 . ' = '. $i*$x . ' <br>';
      }

    ?>
Run Code Online (Sandbox Code Playgroud)

我的预期输出为:100 y 1 = 0

但实际结果是:101 = 0;

你去哪儿了?

https://ideone.com/n9HYGp

Sub*_*mas 5

.拥有更多的运算符优先级+.

echo $x .  'y' . $i+1 = 101
Run Code Online (Sandbox Code Playgroud)

因为它将作为

echo ($x .  "y" . $i)+1 ;
Run Code Online (Sandbox Code Playgroud)

这就是发生的事情.

$x3=  ($x .  "y" . $i); //100y0
$u = $x3+1 ;  //101
Run Code Online (Sandbox Code Playgroud)

您正在+对字符串进行操作.因此,任何字符前的第一个数字将被视为整数值.

例如:

10y0g8 = 10
t10  =0
Run Code Online (Sandbox Code Playgroud)

通过进行算术运算,解释器将字符串转换为整数,并且它will discard all other characters.所以100y+1 = 101它不会101y

  • 为了记录,[它不是编译器!这是翻译](http://stackoverflow.com/q/1514676/3709765):) (2认同)