2014-11-25 60 views
0

我是Javascript和PHP的新手,我正在练习在随机选择的地方构建测验。我只是想知道你是否可以随机排列一行中的所有内容? 是否可以随机化这每条线都在一起?使用Javascript或PHP重新排序表格

1.<tr><td > <input type="radio" name="answer" value="optiona">a</input> </td></tr> 
2.<tr><td > <input type="radio" name="answer" value="optionb">b</input> </td></tr> 
3.<tr><td > <input type="radio" name="answer" value="optionc">c</input> </td></tr> 
4.<tr><td > <input type="radio" name="answer" value="optiond">d</input> </td></tr> 

我的问题是..是否有可能在PHP或JavaScript中随机化4行,每次刷新页面或有人参加测验?

+1

从表中生成数组,然后以该新顺序生成数组更容易。 – Amadan 2014-11-25 07:05:53

+0

有没有办法以这种形式做? – 2014-11-25 07:07:43

+0

如果您的问题已解决,请不要忘记接受答案。 – 2014-11-25 18:53:22

回答

2

在PHP中这将是最简单的。

根本就shuffle($array);

Documentation for shuffle()

+0

喜欢这位先生? <?PHP的 $ my_array =阵列( “1。一个”, “2. b “ ”3. ç”, “4. d“); shuffle($ my_array); print_r($ my_array); ?> – 2014-11-25 07:29:09

+0

@LouisseMinelleGalangII是的,完美的。但是,我建议从每个可能的答案中去掉'1.','2'等。另外,如果您需要在评论中分享代码,我会建议使用[本网站](http://pastebin.com/) – 2014-11-25 07:35:21

+0

您好先生,如果...如果我将在行内插入​​像这样是不是禁止在PHP中插入PHP?明白我的观点? – 2014-11-25 08:13:14

1

下见此杜德先生的回答的评论,我要提醒在一个阵列馅HTML是最理想的,因为你失去轻松地操纵它的能力。试试这个:

$array = array(
    "a" => "Answer A", 
    "b" => "Answer B", 
    "c" => "Answer C", 
    "d" => "Answer D" 
); 

shuffle($array); 

$count = 0; 
foreach ($array as $value => $text) { 
    ?><tr><td><?php 
    echo ++$count; 
    ?></td><td><label for="answer<?php 
    echo $value; 
    ?>"><input type="radio" name="answer" id="answer<?php 
    echo $value; 
    ?>" value="<?php 
    echo $value; 
    ?>"><?php 
    echo $text; 
    ?></label></td></tr><?php 
}