Php 为什么这个while循环在我的类中永远循环?

Php 为什么这个while循环在我的类中永远循环?,php,class,while-loop,Php,Class,While Loop,我增加了循环次数,并查看了很多次。当$change低于0时,循环应该中断,但它将永远循环,直到超过30秒的最长时间。我是一个初学者,所以我希望能得到一些帮助 <?php class change{ private $cash = 0; private $change = 0; private $price = 0; private $counter = 0; public function setPrice($setPrice){ $this->price = $set

我增加了循环次数,并查看了很多次。当$change低于0时,循环应该中断,但它将永远循环,直到超过30秒的最长时间。我是一个初学者,所以我希望能得到一些帮助

<?php

class change{

private $cash = 0;
private $change = 0;
private $price = 0;
private $counter = 0;

public function setPrice($setPrice){
    $this->price = $setPrice;
 }

public function setCash($setCash){
    $this->cash = $setCash;
 }

public function getChange(){
    $this->change = ($this->cash - $this->price);
    while($this->change >= 0){
    $this->change - 50;
    $this->counter++;
  }
    return $this->counter;

  }
}


$newChange = new change;

$newChange->setCash(600);
$newChange->setPrice(200);

$newChange->getChange();

?>

您需要实际设置
$this->change
,而不仅仅是执行减法。你可以做
$this->change-=50

您需要实际设置
$this->change
,而不仅仅是执行减法。你可以做
$this->change-=50

您需要实际设置
$this->change
,而不仅仅是执行减法。你可以做
$this->change-=50


您需要实际设置
$this->change
,而不仅仅是执行减法。你可以做
$this->change-=50

即使您从
$this->change
中减去50,您也没有存储结果,因此
$this->change
在每次循环迭代中始终保持不变。您认为
$this->change-50
是吗?谢谢,初学者的问题通常在这里被看不起吗?即使你从
$this->change
中减去50,你也没有存储结果,所以
$this->change
在每次循环迭代中都会保持不变。你认为
$this->change-50
是吗?谢谢,初学者的问题通常在这里被看不起吗?即使你从
$this->change
中减去50,你也没有存储结果,所以
$this->change
在每次循环迭代中都会保持不变。你认为
$this->change-50
是吗?谢谢,初学者的问题通常在这里被看不起吗?即使你从
$this->change
中减去50,你也没有存储结果,所以
$this->change
在每次循环迭代中都会保持不变。你认为
$this->change-50是吗?谢谢,初学者的问题在这里经常被忽视吗?
 while($this->change >= 0){
    $this->change - 50;
    $this->counter++;
  }