Home > Software engineering >  PHP Making a variable increment based on another variable's value without having too much code?
PHP Making a variable increment based on another variable's value without having too much code?

Time:06-14

i'm trying to increase a variable value depending on the other variable value for example:

i have a variable called $totalhousesleft...

i want to set a price depending on how many $totalhousesleft i have...

everytime the totalhousesleft is down by 10, i want to increase the variable $currentprice by 1.

the starting value of $totalhouses left is 8000 and every time it goes down by 10, i set the $currentprice 1... the starting value of current price is 9...

something like:

If ($totalhousesleft >= 8000) {$currentprice = 9;  $sellingprice = 8;}
If ($totalhousesleft >= 7990) {$currentprice = 10;  $sellingprice = 9;}
If ($totalhousesleft >= 7980) {$currentprice = 11;  $sellingprice = 10;}
If ($totalhousesleft >= 7970) {$currentprice = 12;  $sellingprice = 11;}

ALL THE WAY DOWN UNTIL HOUSES LEFT IS 1. If someone can please show me a loop or a shorter code i would really appreciate it!

CodePudding user response:

A for or while loop could be used for this. I'd use for:

$iteration = 0;
for($x = 8000; $x > 0; $x = $x - 10){  
    if(empty($iteration)) {
        $iteration = $x/1000;
    }
    if ($totalhousesleft >= $x) { 
        $currentprice = $iteration;
        $sellingprice = $currentprice   1;
        break;
    }
    $iteration  ;
}
if(empty($currentprice)){
    $currentprice =  $iteration;
    $sellingprice = $currentprice   1;
}

This iterates over until a match is found then breaks out of the looping. The prices are based on the iteration it is in.

Demo link: https://3v4l.org/Mm432 (updated for edge cases 0-9)

CodePudding user response:

You can use Math.

$currentprice = 9   (800 - (min(8000,$totalhousesleft)/10));
$sellingprice = $currentprice - 1;
  • Related