请看下面的代码片段。
我原以为是
$i=1;
echo $i.($i++);
我以为结果会是12
,但实际结果是21
。
另外,
echo $i,$i++;
我原以为是
12
,但实际上是11
。echo ($i = ($i++)); //result is 1
echo ($i = ($i+1)); //result is 2
但是为什么呢?
echo ($i = ($i++));
将会是2而不是1。或者我有什么地方理解错了吗? - Red$i
的值,并将其递增,然后再将旧的值赋回去 - 这就是为什么输出的是原始值。 - George Brighton($i++)
需要计算为 2(1+1),然后将该值分配给本地变量 $i,最后将结果输出为 2。请还要查看我的更新问题 :( - Red$i++
不等同于$i + 1
。$i++
的值是$i
,但是$i
的值会在之后递增。也许你想要的是++$i
? - George Brighton