大神點(diǎn)進(jìn)來瞧瞧!
<?php
class Car {
? ? public $speed = 0;
? ? public function speedUp(){
? ? ? ?return ?$this->speed+=10;
? ? }//增加speedUp方法,使speed加10
? ??
}
$car = new Car();
$car->speedUp();
echo $car->speedUp();
這樣的結(jié)果是20,如果去掉$car->speedUp();,結(jié)果就是10,去掉了return結(jié)果就是0。。。。。。我暈了。。。。。。
2016-11-01
?你一開始調(diào)用$car->speedUp();得時(shí)候速度已經(jīng)加了十了,之后你要顯示速度就不要再用echo $car->speedUp();
這樣還會(huì)再調(diào)用一次這個(gè)方法就加了兩次速度,要顯示速度直接用echo $car->speed就行了。
2016-09-11
很好,我也成功暈了...
2016-09-10
1. speed變量不是執(zhí)行完一次方法就銷毀的,每次$car->speedUp()都會(huì)將speed變量增加10,執(zhí)行代碼中執(zhí)行了兩次$car->speedUp()所以得結(jié)果自然為20了。
2. 去掉echo上面一行的$car->speedUp();即只在echo時(shí)執(zhí)行了一次自然得10
3. 去掉return即speedUp函數(shù)不返回值,不應(yīng)得到結(jié)果0而是得到一個(gè)NULL,echo指令打印NULL時(shí)不會(huì)展示任何信息
你只是不理解echo $car->speedUp();這句而已吧?這句其實(shí)執(zhí)行了三個(gè)動(dòng)作:1、執(zhí)行$car->speedUp()方法;2、得到$car->speedUp()的返回值;3、echo打印$car->speedUp()的返回值