Php 在一段时间内均匀分布值

Php 在一段时间内均匀分布值,php,math,Php,Math,我有一个可变数量的项目,和一个可变的日期范围,我需要分发它们。假设我有3件物品,我需要在6天内分发它们。我想要的是每第二天都有一个项目,不管第一天是否有项目。如果我在6天内有7件物品,其中一天会有2件,哪一天也不重要 可悲的是,事实证明我的数学真的很烂,所以我不知道如何以一种相对漂亮的方式来做这件事,或者这是否可能。我也许可以用一种简单的方式来理解它,但我也希望从中学到一些东西:P 使用的语言是PHP。第i天中的项目=楼层i+1*项目/天-楼层i*项目/天,其中我是基于0的。第i天中的项目=楼层

我有一个可变数量的项目,和一个可变的日期范围,我需要分发它们。假设我有3件物品,我需要在6天内分发它们。我想要的是每第二天都有一个项目,不管第一天是否有项目。如果我在6天内有7件物品,其中一天会有2件,哪一天也不重要

可悲的是,事实证明我的数学真的很烂,所以我不知道如何以一种相对漂亮的方式来做这件事,或者这是否可能。我也许可以用一种简单的方式来理解它,但我也希望从中学到一些东西:P


使用的语言是PHP。

第i天中的项目=楼层i+1*项目/天-楼层i*项目/天,其中我是基于0的。

第i天中的项目=楼层i+1*项目/天-楼层i*项目/天,其中我是基于0的。

基本上你在进行除法,然后按顺序分配剩余部分。因此,步骤如下:

//If you get the period between items:
$period = $days / $items;
//Then you can iterate through the items:
for ($i = 0; $i < $items; $i++)
{
    //and have a function that will add an item to the day number given as a parameter.
    add_item_to_day_number(floor($i * $period));
}
数一数天数 数一数物品的数量

如果项目>天数

将项目数除以 每天项目的天数$x 以项目/天的模数$m为单位 这是剩下的 循环放置$x的天数 每天一件,另外一件 在第一个百万美元的日子里 如果天数>项目

将天数除以 每个项目的项目天数$x 以$x为单位,在一天中循环 每天放置一件物品,保持 跟踪还剩下多少项 当你在最后一天到达时,如果 还有剩余的项目,请循环 从第0+1天开始的天数,以及 步进x美元
基本上你在除法,然后按顺序分配余数。因此,步骤如下:

数一数天数 数一数物品的数量

如果项目>天数

将项目数除以 每天项目的天数$x 以项目/天的模数$m为单位 这是剩下的 循环放置$x的天数 每天一件,另外一件 在第一个百万美元的日子里 如果天数>项目

将天数除以 每个项目的项目天数$x 以$x为单位,在一天中循环 每天放置一件物品,保持 跟踪还剩下多少项 当你在最后一天到达时,如果 还有剩余的项目,请循环 从第0+1天开始的天数,以及 步进x美元
请注意,$days和$items都只是计算有多少天和项目。我无意中在for循环中键入了days而不是items,但在编辑中修复了这一问题。楼层功能只删除任何小数点。请注意,$days和$items都只是计算天数和项目数。我无意中在for循环中键入了days而不是items,但在编辑中修复了这一问题。floor函数只删除小数点。不,这是针对我正在构建的应用程序,我的数学失败:PNo,这是针对我正在构建的应用程序,我的数学失败:PI不确定哪种方法最有效,但我选择了这一种,谢谢:Oliver的方法更有效,因为它不需要两种不同的方法。这个解决方案不那么优雅,但可能更容易理解。我不确定哪种方法最有效,但我选择了这个,谢谢:Oliver的方法更有效,因为它不需要两种不同的方法。这个解决方案不那么优雅,但可能更容易理解。优雅的解决方案。太多了!优雅的解决方案。太多了!