[英]PHP equation output confusion
$x = 5; echo "$x"; echo "<br>"; echo $x+++$x++; echo "<br>"; echo $x;
上面代碼的輸出不會是“5,12,5”嗎? PHP 輸出“5,11,7”?
為什么? 我很困惑。
對 $x 的第一次引用是當它的值仍然是 5 時(即在它增加之前),而對 $x 的第二次引用是當它的值是 6 時(即在它再次增加之前),所以操作是 5 + 6 產生 11。在這個操作之后,$x 的值是 7,因為它已經增加了兩次。
所以基本上是
提供 5 作為加法運算的操作數之一。
將 x 提供給加法運算(后增量)后遞增 x,使其為 6。
提供這個先前增加的 x 作為加法運算的第二個操作數,即 6。所以它使它成為 5+6,產生 11
最后在加法運算后增加 x 使其為 7
查看評論中的注釋
$x = 5;
echo $x . PHP_EOL;
// now x=5
echo ++$x + $x . PHP_EOL;
// left side of the operation makes x=6 then the right side adds x to it, meaning 6+6
echo ++$x . PHP_EOL;
// now x=7
還要檢查這個PHP 中 ++$i 和 $i++ 之間的區別是什么?
了解有關前后增量的一些想法。
$x ++ 表示 x 的當前值為 5,緊接着 x 將為 6。
對於第二個 x,x = 6,然后緊接着,x = 7。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.