遞增/遞減運算子(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
是先加一還是後加一、是否先與其他的程式碼進行運算
這部分新手可能比較常搞混++/--
在前與在後的意義,使用上要多注意
而就效能來討論,++/--
在前面會比++/--
在後面來得效能較好