陷入FOR循环

时间:2015-12-18 18:38:02

标签: php performance loops inheritance for-loop

基础车类

  1. 当前速度(属性) - 默认值0
  2. 加速(方法)
  3. 驱动器(方法)
  4. 品牌(财产) - 默认值'未知'
  5. 最大速度(属性) - 默认值0
  6. Camaro Car Class

    继承基地车

    1. 品牌(财产) - 默认值'雪佛兰'
    2. 最大速度(属性) - 默认值200
    3. 代码情景:在这个例子中,我需要创建一个Camaro实例并告诉它驱动,我会假设它在一条直线上移动而且没有其他驱动因素。汽车将加速直至达到最大速度。驱动器需要调用加速。需要加速将当前速度增加1.一旦Camaro达到最大速度,它应该停止加速并打印它达到汽车最大速度。然后驱动器的执行也应该停止。

      我的代码低于我尝试打印速度,直到它达到最大值。我应该把for循环打印所有速度增加1到最大值,即100。如下所示 1 2 3 ... 100

      <?php
      class Car extends CI_Controller 
      {
      
      public $_speed = 0;
      public $_brand = 'unknown';
      public $_max = 0;
      
      public function accelerate($_brand,$_max)
      {
          if($this->_speed<=$_max)
          {
              for ($x = 0; $x <= 100; $x++)
              {
                  $this->_speed += 1;
                  return true;
              }
          }
          else
          {
              echo $this->_brand . 'Reached max speed';
          }
      
      }
      
      public function drive()
      {
         $this->accelerate();
      }
      
      }
      class Camaro extends Car
      {
      public $_brand = 'Chevy';
      public $_max = 100;
      }
      
      $car1 = new Camaro();
      echo $car1 -> accelerate($car1->_brand, $car1->_max);
      ?>
      

1 个答案:

答案 0 :(得分:0)

public function accelerate($_brand,$_max)
{
        for ($x = 0; $x <= 100; $x++)
        {
            $this->_speed += 1;
            if ($this->_speed ==$_max) {
                 echo 'max speed';
                 break; //use it to stop accelarating
            }
        }

}