一道试题中备选答案打乱顺序,随机展示,用数组实现
2018-03-13 23:16
429 查看
今天遇到一个写一个测试题的小项目,测试题是从数据库(试题库)随机抽取的。现在的小需求是,在拿到这道试题之后,备选答案随机展示。
比如这里title是标题,answer01、answer02、answer03、answer04是四个备选项,tureanswer是正确选项的索引,此时就表示第一个属于正确答案。
如果打乱选项顺序,思路是选用数组,将这个四个选项取出来,组成一个数组,找到正确答案,用新定义的变量展示出来。<?php
header("Content-Type:text/html;charset=utf-8");
//定义一组数组,作为备选项
$select = array("我是A选项", "我是B选项", "我是C选项", "我是D选项" );
//定义第三个是正确答案,我是C选项
$true_no = 3;
//正确答案
$true = $select[$true_no-1];
//打乱顺序之前的数组
var_dump($select);
//输出正确的选项(预定义)
var_dump($select[$true_no-1]);
//打乱顺序,用PHP自带的shuffle函数
shuffle($select);
//检测是否已经打乱
var_dump($select);
//找到正确答案在数组的位置
$locationNum = array_search($true,$select);
var_dump($locationNum);
//检查正确答案
var_dump($select[$locationNum]);
?> 此时就是打乱之后的备选项了。
比如这里title是标题,answer01、answer02、answer03、answer04是四个备选项,tureanswer是正确选项的索引,此时就表示第一个属于正确答案。
如果打乱选项顺序,思路是选用数组,将这个四个选项取出来,组成一个数组,找到正确答案,用新定义的变量展示出来。<?php
header("Content-Type:text/html;charset=utf-8");
//定义一组数组,作为备选项
$select = array("我是A选项", "我是B选项", "我是C选项", "我是D选项" );
//定义第三个是正确答案,我是C选项
$true_no = 3;
//正确答案
$true = $select[$true_no-1];
//打乱顺序之前的数组
var_dump($select);
//输出正确的选项(预定义)
var_dump($select[$true_no-1]);
//打乱顺序,用PHP自带的shuffle函数
shuffle($select);
//检测是否已经打乱
var_dump($select);
//找到正确答案在数组的位置
$locationNum = array_search($true,$select);
var_dump($locationNum);
//检查正确答案
var_dump($select[$locationNum]);
?> 此时就是打乱之后的备选项了。
相关文章推荐
- 随机打乱数组(包括二维数组)的顺序-python实现
- 分享两个JavaScript打乱数组顺序实现随机排序洗牌的方法(应用于音乐视频的随机播放等)
- 随机打乱数组的顺序-python实现
- 【DAY.9】php随机打乱数组顺序(洗牌算法实现)
- JAVA随机打乱数组的顺序
- Java基础之随机打乱一个顺序数组
- Java基础之随机打乱一个顺序数组
- Java基础之随机打乱一个顺序数组
- C#1.数组里有{1,2,3,4,5,6,7,8,9,10},在一个 新数组中进行随机打乱顺序。
- JAVA随机打乱数组顺序的方法
- Oracle 实现select(查询)的结果集随机顺序展示
- C++将数组的元素顺序随机打乱(条件概率证明算法充分随机)
- JavaScript随机打乱数组顺序之随机洗牌算法
- excel打乱各行的顺序,实现无序随机排列
- 用Collection.shuffle()随机打乱一个顺序数组
- Java基础之随机打乱一个顺序数组
- 洗牌算法:随机打乱一个数组的顺序
- 用Collection.shuffle()随机打乱一个顺序数组
- 洗牌算法:随机打乱一个数组的顺序
- C#实现将数组内元素打乱顺序的方法