This topic created in 3989 days ago, the information mentioned may be changed or developed.
1-1000数值范围
然后按照百分比来分配。
百分比个数不固定。人工设置
可能就是1个:100%
或者:20% 80%
也有可能是10% 20% 30% 40%
比如 如果是80% 20%两个
然后分配 1-200为20%
201-1000为80%
如果是五个20%
则1-200 201--400 401-600 601-800 801-1000这样分配?
不知道描述清楚了么?
求思路
3 replies • 2015-06-23 11:41:53 +08:00
 |
|
1
hylent Jun 23, 2015
``` x = 1; y = p1 * 10; // 20 * 10 = 200
x = y + 1; // 201 y = y + p2 * 10; // 200 + 20 * 10 = 400 ```
这个。。
|
 |
|
2
issac Jun 23, 2015
数据库存储字段: 存储时通过implode()转成->"10,20,40"
取的时候: $numArr = array(1000)个数值; $percentArr = explode(数据库去读的资料);
循环$percentArr; 每次循环用array_slice拆分$numArr; 需要计算初始key. 拆分数量通过$percentArr计算
PS:如果要按照80,20的举例 循环前排序$percentArr
|
 |
|
3
alex321 Jun 23, 2015
好像看起来你针对 1-1000 中的每 1% 都是等分的。 我需要处理的就是你是按照 20%/80% 来进行分配,还是按照 10%/20%/30%/40% 来进行分类,或者是按照 20%/20%/20%/20%/20% 来进行分配,或者按照类似的比例来进行分类。 我们设置 100 个单元格,每单元格为 1%。第一次按下鼠标到选中就是第一个分配区间,第二次就是第二个分配区间。 看你的描述,最小的分配区间都是 10%,那就只需要 10 个单元格了。最终判断鼠标选中的区间比例。
当然,如果不想做这个稍微有点复杂的前端功能。还可以用简单到没朋友的方式:一个输入框,输入不同的比例数值,中间中 | 或者 , 之类的区分就行。比如,前面的例子分别输入 20|80,10|20|30|40,20|20|20|20|20。甚至考虑到最小的分配区间都是 10%,可以直接把后面的 0 去掉,变成 2|8 之类的。
|