遞增/遞減運算子(Incrementing/Decrementing Operator)
在指派運算子的部分曾經提到過$a = $a + $b可以縮寫成$a+=$b
遞增與遞減的運算子也是一種簡寫
而在$b是1和-1的時候
$a = $a + 1可以縮寫成$a+=1,也能簡寫成$a++或是++$a
$a = $a - 1可以縮寫成$a-=1,也能簡寫成$a--或是--$a
也就是把$a加1或是減1
但是++/--放在變數前面還是後面有什麼差別呢?請看下表
| 運算子 | 功能 | 範例 |
|---|---|---|
| ++ | 先遞增,再做其他運算 | ++$a |
| ++ | 先做其他運算,再遞增 | $a++ |
| -- | 先遞減,再做運算其他 | --$a |
| -- | 先做其他運算,再遞減 | $a-- |
如果看不太懂,沒關係,看一下實際例子吧
<?php
$a = 10;
echo $a; //10
echo $a++; //10 -> 先將值交給echo運算後輸出(先輸出10),然後才遞增(值才變成11)
echo $a; //11
$a = 10;
echo $a; //10
echo ++$a; //11 -> 先遞增(變成11),然後再將值與交由echo輸出,所以輸出11
echo $a; //10
?>
差別就在於,$a是先加一還是後加一、是否先與其他的程式碼進行運算
這部分新手可能比較常搞混++/--在前與在後的意義,使用上要多注意
而就效能來討論,++/--在前面會比++/--在後面來得效能較好