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