這是我在堆棧溢出中提出的第一個問題。我有點新手。不能使用PHP將用戶分配到相同的組中
我試圖自動分配學生隨機和平等(或大多相等,如果分配了奇數)組。現在,我只是試圖產生小組作業。稍後,這些信息將被存儲在數據庫中(還沒有),老師將能夠修改組的數量。
我可以讓學生分配到不同的隨機組,但它不會平分。我覺得這個問題是:
while ($rand_num == $value && $group_count[$rand_num] >= $group_size)
它似乎並不像它做的比較或者是忽略了& &後的一切。
<?php
$group_array = array("Abby" => 0 , "Billy" => 0 , "Cathy" => 0 , "Dillan" => 0, "Elizabeth" => 0 , "Fred" => 0 , "Geofery" => 0 , "Hank" => 0, "Ingrid" => 0 , "Jacob" => 0 , "Kylie" => 0 , "Lenord" => 0);
$class_size = count($group_array);
$num_groups = 3;
$group_size = $class_size/$num_groups;
$group_count = (array_count_values($group_array));
foreach ($group_array as $key => &$value) {
$rand_num = rand(1 , $num_groups);
while ($rand_num == $value && $group_count[$rand_num] >= $group_size) {
$rand_num = rand(1 , $num_groups);
};
$value = $rand_num;
$group_count = (array_count_values($group_array));
};
//Group Assignments
var_dump($group_array);
//Users in each group
var_dump($group_count);
?>
我在做什麼錯?
所以你喜歡他們在同一時間同樣隨機劃分,對不對? –
您可以對用戶數組使用shuffle,然後選擇第一個放入第一組,然後再次重新排列數組,並將第一個放入第二組,繼續,直到數組爲空。 – Perrykipkerrie