在PHP中使用shuffle和foreach()随机化两个音阶的顺序

时间:2018-11-08 14:05:56

标签: php random foreach shuffle

我对自己的代码有些迷惑,并且已经尝试解决我的问题了一段时间了。我认为这可以不难,但我仍然不愿意把它包裹起来。 我有两份问卷,我希望以随机顺序显示给参与者,以避免在回答方式中出现顺序效应。 因此,我的目标是按照随机顺序在第1页上有一份问卷,在第2页上有另一份问卷。到目前为止,我的代码如下:

    if (!isset($skalen)) { 
$skalen = array ( 
'UM02', // scale 1
'GM01' // scale 2
); 
shuffle ($skalen);
registerVariable($skalen);
$skalen[0];
}

在第二个刻度将出现的下一页上,我只有:

$skalen[1];

我的问题是“ shuffle”函数不能对我的数组进行随机排序。比例尺始终以相同的顺序出现。 我也使用了foreach()函数来尝试它:

if (!isset($skalen)) { 
$skalen = array ( 
'UM02', // scale 1
'GM01' // scale 2
); 
shuffle ($skalen);
registerVariable($skalen);
}
foreach ($skalen as $kennung) {
question($kennung);
}
$kennung[0];

并在naxt页面上:

$kennung[1];

如果我这样做,则这些量表会以随机顺序出现,但每个量表都会出现两次(问卷第一页上有3个量表,第二页上有1个量表)。我只是不知道该如何结束。我真的不是专家,基本上从手册中获取了我用于问卷调查的所有语法。 我还尝试使用“ break”功能停止“ foreach()”,但是我不知道如何在混合好音阶后告诉“ foreach()”停止...

如果有人可以帮助,那将是很好。已经谢谢你了:)

1 个答案:

答案 0 :(得分:0)

好的,谢谢,问题解决了。我基本上不需要使用

foreach($skalen as $kennung)

由于存在一个与PHP代码无关的缺陷,调查表出现了两倍的时间。

:)