例子,把一组数据拆分为6组输出算法。
代码:
-
-
- $groupCount = 6; //组数
- $userIdList = array(1, 2, 3, 4, 5, 6, 7, 8, 9,10);
- $size = count($userIdList );
- $sizeGroupPer = floor($size / $groupCount );//每组被分配的个数
- $criticalValue = $size % $groupCount ; //临界值
- $startIndex = 0;
- $endIndex = 0;
- for ($i = 0; $i < $groupCount ; $i++ ) {
- if ($i < $critical) { //表示哪些组可以被多分配
- $endIndex = $startIndex + $sizeGroupPer + 1;
- } else {
- $endIndex = $startIndex + $sizeGroupPer ;
- } // bbs.it-home.org
-
- $strGroup = "";
- for ($j = $startIndex ; $j < $endIndex; $j++) {
- if (($j + 1) == $to) {
- $strGroup .= $arryData[$j];
- } else {
- $strGroup .= $arryData[$j].",";
- }
- }
- $startIndex = $endIndex;
- echo "第 ".$i." 组数据::".$strGroup;
- }
复制代码
|