For循环PHP检查值并采取是否满足条件

时间:2019-09-08 09:19:26

标签: php for-loop while-loop

我必须编写一个php循环。最好怎么做。我基本上有3条购买线。

  1. 数量3
  2. 数量4
  3. 数量6

我总共需要9个数量。因此,我必须遍历以上每行并获得9数量。如何编写循环。是for循环还是while循环?

  1. 以第1行为准。3小于9,因此取整为3。第1行的余额为0。
  2. 采用第2行。3+ 4 = 7小于9,因此取整4。第2行变为0余额。
  3. 采用第3行。7 + 6 = 13大于9。因此,仅接受所需内容。那是9-7 = 2。 7+(9-7)=9。第3行变为4单位余额。

我有蜜蜂试图通过if条件进行循环。没到那里。

1 个答案:

答案 0 :(得分:0)

$items = [3,4,6]; //can also be used as an associative array with "item1" => 3 likewise
$requiredQuantity = 9;
$currentQuantity = 0;

$i = 0; //incrementor
foreach ($items as $item){
    if(($currentQuantity+$item) < $requiredQuantity){
        $currentQuantity += $item;
        $items[$i] = 0;
    }
    elseif(($currentQuantity+$item) == $requiredQuantity){
        $currentQuantity += $item;
        $items[$i] = 0;
        break;
    }
    else{
        $shortageQuantity = $requiredQuantity - $currentQuantity;
        $items[$i] -= $shortageQuantity;
        $currentQuantity += $shortageQuantity;
        break;
    }
    $i++;
} //end of foreach loop

print_r($items); //resultant items list.