问答详情
源自:2-4 PHP类和对象之定义类的方法

为什么这样写代码是错的啊

<?php
class car{
 public $speed=0;
 public function speedUp(){
  return $speed+10;
 }
 $car=new Car();
 $car->speedUP()
 echo $car->speed;
 ?>

提问者:完美世界大牛 2017-03-18 14:31

个回答

  • 渣渣一只螺
    2017-07-11 14:22:14

    因为这句代码return $speed+10;他返回的是$speed +10 的值,而下面你调用输出的是 
     echo $car->speed;的值,改的话方法里可以这么写

    public function speedUp()

    {

        $speed = $speed + 10;

        return $speed;

    }

  • 会喷火的大怪龙
    2017-05-05 09:53:25

    你这么写思路不够简洁,逻辑有问题啊

  • 慕粉4060693
    2017-03-18 15:25:14

    class Car{//大写

        public  $speed=0;

        public function speedUp(){

            return $this->speed+=10;

        }

    }//您打少了花括号

        $c = new Car();

        $c->speedUp(); //注意大小写

        echo $c->speed;

    这样就行了

  • 槿宸
    2017-03-18 15:11:41

    问题在类里面,return $speed+10;这里返回值虽然加了10,但是变量speed本身并没有改变,所以最后输出的还是0