0

我有一个 HTML 表单,用户使用复选框从中选择数字。这些数字被放入一个 PHP 数组中,如下所示:

<input type="checkbox" name="formnumber[]" value="1" />

从 1 到 24 有 24 个数字可供选择。我想使用数组中的数字输出 10 个唯一行的列表,每行 5 个唯一数字。

例如:我从表格中选择 1 2 3 4 5 6 7 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>';

 }

}
4

1 回答 1

4

所以基本上你希望它选择 5 个选定框的不同组合。

好吧,我会做这样的事情:

$flip = array_flip($_POST['formnumber']);
for($i=0; $i<10; $i++) {
    $combo = array_rand($flip,5);
    echo implode(" ",$combo)."\n";
}
于 2013-02-13T01:51:18.590 回答