【发布时间】:2019-04-12 01:24:42
【问题描述】:
我对我的代码有点迷茫,并且已经尝试解决我的问题有一段时间了。我认为这不可能那么难,但我仍然没有把我的东西包起来。 我有两份问卷,我想以随机顺序向参与者展示,以避免回答模式中的顺序效应。 所以我的目标是在第 1 页上有一份调查问卷,在第 2 页上有一份调查问卷,以随机顺序排列。到目前为止我的代码如下:
if (!isset($skalen)) {
$skalen = array (
'UM02', // scale 1
'GM01' // scale 2
);
shuffle ($skalen);
registerVariable($skalen);
$skalen[0];
}
在下一页,第二个音阶出现的地方,我只有:
$skalen[1];
我的问题是“洗牌”功能不会洗牌我的数组。刻度总是以相同的顺序出现。 我还尝试了这样的 foreach() 函数:
if (!isset($skalen)) {
$skalen = array (
'UM02', // scale 1
'GM01' // scale 2
);
shuffle ($skalen);
registerVariable($skalen);
}
foreach ($skalen as $kennung) {
question($kennung);
}
$kennung[0];
在下一页:
$kennung[1];
如果我这样做,比例会以随机顺序出现,但每个比例会出现两次(我的问卷第一页上有 3 个比例,第二页有 1 个比例)。我只是不知道如何结束这一切。我真的不是专家,基本上从我用于调查问卷的程序手册中获取了所有语法。 我还尝试使用“break”函数来停止“foreach()”,但我不知道如何在混合我的音阶后告诉“foreach()”停止......
如果有人可以提供帮助,那就太好了。已经谢谢你了:)
【问题讨论】:
-
这些值不会在页面上自动维护,因此在第二页中,第一页的随机播放结果消失了。
-
第二页你不想要
$skalen[1];。相反,您需要尚未使用的那个,因此您需要将您正在使用的那个存储在第一页中您可以检索它的地方,例如会话或数据库。
标签: php random foreach shuffle