亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

請問【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();??//調用共有方法輸出當前的速度值


正在回答

3 回答

$speedUp = $speedUp + 10

$speed+=10這兩個表達式就,粗略的看$speedUp + 和$speedUp=$speedUp+10 是一個意思 但區別在于 $speedUp+ 是先使用$speedUp的值 然后再使$speedUp+10 而$speedUp =$speedUp+10 只是簡單的給?$speedUp 加10,,所以return返回的值不同


1 回復 有任何疑惑可以回復我~
#1

三瓣核桃 提問者

非常感謝!謝謝 明白了。
2016-05-05 回復 有任何疑惑可以回復我~

第一,樓主應該是寫錯了,想要表達的意思是問return self:$speed+=10和return self:$speed=self:$speed + 10的區別。否則$speedUp是什么鬼?即不是變量名,也不是函數名。

第二,上面兩個書寫正確的表達式得出的結果是一致的,表達的也是一個意思,你得出不同的結果,完全是因為你寫錯了。

結論,樓主書寫錯誤

2 回復 有任何疑惑可以回復我~

好像重點不應該是這個吧。self::?$speed=?$speed +?10;你這樣寫肯定會報錯的,因為在function?speedUp()中你沒有定義$speed,他同函數外$speed?是兩個不同的變量;只有通過self::$speed,才能將該函數外面的speed引入到函數內來

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

請問【return self:: $speedUp = $speedUp + 10; return self::$speed+=10;】這兩個表達方式有什么區別呀?為什么結果不同?

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號