我有一个HTML表单,用户可以使用复选框从中选择数字。这些数字被放入一个PHP数组中,如下所示:
<input type="checkbox" name="formnumber[]" value="1" />
从1到24有24个数字可供选择。我想使用数组中的数字输出一个10个唯一行的列表,每行5个唯一数字。
例如:我从表格中选择1 2 3 4 5 6 8 9 10 11 12 13 14 15 16。输出如下:
2 16 4 1 15
10 13 2 4 5
12 1 3 16 11
etc etc (10 lines)
我让它像这样工作,但我仍然时不时地得到一个副本。我可以在表单中输入5到24个数字,并在输出中获得4个数字的大部分唯一随机行。
$i=1;
while ($i<=$xresults) {
$numbers = $_POST['formnumber'];
shuffle($numbers);
$counter = 0;
foreach ($numbers as $number1) {
echo "<span>$number1</span> ";
if(++$counter >= 4) { break; }
}
$i++;
echo '<p>';
}
}
因此,基本上您希望它选择5个选定框的不同组合。
好吧,我会这样做:
$flip = array_flip($_POST['formnumber']);
for($i=0; $i<10; $i++) {
$combo = array_rand($flip,5);
echo implode(" ",$combo)."'n";
}