請問【return self:: $speedUp = $speedUp + 10; return self::$speed+=10;】這兩個表達方式有什么區別呀?為什么結果不同?
<?php class?Car?{ ????private?static?$speed?=?10; ???? ????public?function?getSpeed()?{ ????????return?self::$speed; ????} ???? ????//在這里定義一個靜態方法,實現速度累加10 ????public?static?function?speedUp()?{ ????????//return?self::?$speedUp?=?$speedUp?+?10; ????????return?self::$speed+=10; ????} } $car?=?new?Car(); Car::speedUp();??//調用靜態方法加速 echo?$car->getSpeed();??//調用共有方法輸出當前的速度值
2016-05-05
$speedUp = $speedUp + 10
$speed+=10這兩個表達式就,粗略的看$speedUp + 和$speedUp=$speedUp+10 是一個意思 但區別在于 $speedUp+ 是先使用$speedUp的值 然后再使$speedUp+10 而$speedUp =$speedUp+10 只是簡單的給?$speedUp 加10,,所以return返回的值不同
2016-07-21
第一,樓主應該是寫錯了,想要表達的意思是問return self:$speed+=10和return self:$speed=self:$speed + 10的區別。否則$speedUp是什么鬼?即不是變量名,也不是函數名。
第二,上面兩個書寫正確的表達式得出的結果是一致的,表達的也是一個意思,你得出不同的結果,完全是因為你寫錯了。
結論,樓主書寫錯誤
2016-06-22
好像重點不應該是這個吧。self::?$speed=?$speed +?10;你這樣寫肯定會報錯的,因為在function?speedUp()中你沒有定義$speed,他同函數外$speed?是兩個不同的變量;只有通過self::$speed,才能將該函數外面的speed引入到函數內來