首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >循环PHP以检查值并接受如果满足条件

循环PHP以检查值并接受如果满足条件
EN

Stack Overflow用户
提问于 2019-09-08 09:19:26
回答 1查看 36关注 0票数 0

我必须编写一个php循环。怎么做才是最好的。糟糕的是,我有3条购买线。

  1. qty 3
  2. qty 4
  3. qty 6

我总共需要9磅。所以我必须循环遍历上面的每一行,得到9 qty。如何写循环。是循环循环还是同时循环?

  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单位平衡.

我在试着用如果的条件来循环。很难到达那里。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-09-08 09:41:50

代码语言:javascript
运行
复制
$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.
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57840643

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档