例子,把一组数据拆分为6组输出算法。
代码:
复制代码 代码示例:
<?php
$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 ;
} // www.jb200.com
$strGroup = "";
for ($j = $startIndex ; $j < $endIndex; $j++) {
if (($j + 1) == $to) {
$strGroup .= $arryData[$j];
} else {
$strGroup .= $arryData[$j].",";
}
}
$startIndex = $endIndex;
echo "第 ".$i." 组数据::".$strGroup;
}