业务需求:班级学员随机分成N组
代码示例
function randomGroups($students, $groupSize) {
shuffle($students); // 将学生名单随机排序
$numGroups = ceil(count($students) / $groupSize); // 计算组数
$groups = array(); // 存储分组结果的数组
for ($i = 0; $i < $numGroups; $i++) {
$groups[$i] = array_slice($students, $i * $groupSize, $groupSize);
}
return $groups;
}
//使用示例
$students = array('Alice', 'Bob', 'Charlie', 'Dave', 'Eve', 'Frank', 'Grace', 'Heidi', 'Ivy', 'Jack');
$groupSize = 3;
$groups = randomGroups($students, $groupSize);
foreach ($groups as $group) {
echo "Group: ";
foreach ($group as $student) {
echo $student . " ";
}
echo "<br>";
}
输出示例:
Group: Eve Charlie Ivy
Group: Frank Grace Alice
Group: Heidi Jack Dave
Group: Bob
该函数将输入的学生名单随机排序,并将其分成指定大小的组。如果学生人数不能被组大小整除,则最后一组可能会比其他组小。输出结果是一个数组,其中每个元素都是一个学生名单的子数组,表示一个分组。在使用示例中,我们遍历分组结果并打印每个分组的学生名单