问题:
我有一个HTML格式的文本区域,我想输入一个参与者列表。提交表单后,我希望PHP能够获取此列表并将参与者随机分组为4.如果参与者不均匀(例如51),则最后一组应为3。
此外,我想请求建议如何在输出中为参与者提供标题。
代码:
<?php
if (isset($_POST['submit'])) {
$text = trim($_POST['list']);
$array = explode(PHP_EOL, $text);
shuffle($array);
print_r($array);
}
?>
<!DOCTYPE html>
<html>
<head>
<title>Randomize groups</title>
<meta charset="UTF-8">
</head>
<body>
<form action="randomize.php" method="post">
<fieldset>
<legend>Randomize groups</legend>
<label for="list">Enter names of participants:</label>
<textarea name="list" rows="12" cols="50" autofocus></textarea>
</fieldset>
<input type="submit" name="submit" value="Submit">
</form>
</body>
</html>
期望的输出:
第1组
第2组
答案 0 :(得分:1)
我可能会建议这样做:
if (isset($_POST['submit'])) {
$text = trim($_POST['list']);
$array = explode(PHP_EOL, $text);
$half = count($array)/2;
shuffle($array);
$groups = array_chunk($array, $half);
foreach($groups as $key=>$value){
$key++;
echo "<h2>Group $key</h2>";
echo "<ul>";
foreach($value as $participant){
echo "<li>$participant</li>";
}
echo "</ul>";
}