2025-04-02 06:06:35 | 我爱编程网
常规思路
表1(问题)
question
id(主键) text(问题内容) rightAnswer(正确答案)
表2(备选答案)
answer
id(主键) qid(对应的问题id) text(备选答案) 我爱编程网
$sql="SELECT * FROM question";
$r = mysql_query($sql);
while($row = mysql_fetch_rows($r)){
//输出题干
echo $row[1];
$subsql="SELECT * FROM answer WHERE qid = '".$row[0]."'";
$subr = mysql_query($subsql);
while($subrow = mysql_fetch_rows($subr)){
//输出备选答案
echo subrow[2];
}
}
我相信这是比较主流的设计思路,希望的帮到你
至于比对答案的时候,有一种简单做法,你传回来的答案不是数组吗,将数据库正确答案以字符串形式输出,打散成数组,求2个数组的交集,根据交集数量判断正确个数
不懂欢迎追问
PHP中的常用数组操作方法(每种都给你举个2个例子)
一、数组操作的基本函数
数组的键名和值
array_values($arr); 获得数组的值
array_keys($arr); 获得数组的键名
数组的内部指针
current($arr); 返回数组中的当前单元
pos($arr); 返回数组中的当前单元
数组和变量之间的转换
extract($arr);用于把数组中的元素转换成变量导入到当前文件中,键名当作变量名,值作为变量值
注:(第二个参数很重要,可以看手册使用)使用方法
echo $a;compact(var1,var2,var3);用给定的变量名创建一个数组
二、数组的分段和填充
数组的分段
array_slice($arr,0,3); 可以将数组中的一段取出,此函数忽略键名
array_splice($arr,0,3,array("black","maroon")); 可以将数组中的一段取出,与上个函数不同在于返回的序列从原数组中删除
分割多个数组
array_chunk($arr,3,TRUE); 可以将一个数组分割成多个,TRUE为保留原数组的键名
数组的填充
array_pad($arr,5,'x'); 将一个数组填补到制定长度
三、数组与栈
array_push($arr,"apple","pear"); 将一个或多个元素压入数组栈的末尾(入栈),返回入栈元素的个数
array_pop($arr); 将数组栈的最后一个元素弹出(出栈)
四、数组与列队
array_shift($arr);数组中的第一个元素移出并作为结果返回(数组长度减1,其他元素向前移动一位,数字键名改为从零技术,文字键名不变)
array_unshift($arr,"a",array(1,2));在数组的开头插入一个或多个元素
五、回调函数
array_walk($arr,'function','words'); 使用用户函数对数组中的每个成员进行处理(第三个参数传递给回调函数function)
array_mpa("function",$arr1,$arr2); 可以处理多个数组(当使用两个或更多数组时,他们的长度应该相同)
六、数组的排序
通过元素值对数组排序
sort($arr); 由小到大的顺序排序(第二个参数为按什么方式排序)忽略键名的数组排序
rsort($arr); 由大到小的顺序排序(第二个参数为按什么方式排序)忽略键名的数组排序
通过键名对数组排序
ksort($arr); 按照键名正序排序
krsort($arr); 按照键名逆序排序
七、数组的计算
数组元素的求和
array_sum($arr); 对数组内部的所有元素做求和运算
数组的合并
array_merge($arr1,$arr2); 合并两个或多个数组(相同的字符串键名,后面的覆盖前面的,相同的数字键名,后面的不会做覆盖操作,而是附加到后面)
“+”$arr1+$arr2; 对于相同的键名只保留后一个
数组的差集
array_diff($arr1,$arr2); 返回差集结果数组
array_diff_assoc($arr1,$arr2,$arr3); 返回差集结果数组,键名也做比较
数组的交集
array_intersect($arr1,$arr2); 返回交集结果数组
array_intersect_assoc($arr1,$arr2); 返回交集结果数组,键名也做比较
八、其他的数组函数
range(0,12); 创建一个包含指定范围单元的数组
array_unique($arr); 移除数组中重复的值,新的数组中会保留原始的键名
我爱编程网(https://www.52biancheng.com)小编还为大家带来PHP处理数组常用的几个函数的相关内容。
一、数组操作的基本函数PHP中MD5函数漏洞总结本文首发于个人博客:n0usec.top一、MD5算法MD5全名消息摘要算法(Message-DigestAlgorithm5),是一种密码散列函数,能将任意大小的数据转换为一个固定的128位(16字节)哈希值,确保信息传输的一致性和完整性。它的核心原理是将原始数据通过一系列计算过程,生成固定长度的哈希值。二、PHP中MD5函数的安全问题
用Python做毕业设计选什么项目比较好?【python毕业设计】Django框架实现学生信息管理系统自学的python基础然后学习Django框架改改乱七八糟的东西做出来了个简单的....毕业设计将所在学院的信息以csv格式上传数据库然后前后端调用实现了学生信息管理系统改写了Django框架中的admin用的xadmin优化了页面初学
php函数基础问题1、int,bool是指函数的返回值类型。2、第一个string是参数类型,第二个string是参数名。3、[,int..]表示可选参数,不输入的话则使用默认值,逗号在前边是跟前边的参数隔开。。。php常识选择题1.PHP选择题选择B。PHP是一种简单的,面向对象的,解释型的,健壮的,安全的,性能非常之高的,独立于架构的,可移植的,动态的脚本语言。P
php函数基础问题1、int,bool是指函数的返回值类型。2、第一个string是参数类型,第二个string是参数名。3、[,int..]表示可选参数,不输入的话则使用默认值,逗号在前边是跟前边的参数隔开。。。用PHP函数排学生成绩问题<?php/*1.学生成绩0-59不及格,60-70 普通成绩 70-80 良好 80-90 优秀 90-100 优异。现在有三个学生
mysqli_query错误在PHP中,当我们尝试执行SQL查询时,可能会遇到`mysqli_query`函数的错误。例如,代码片段如下:php$result=mysqli_query($connect,$query)ordie('Errorqueryingdatabase.'.mysqli_error($connect));如果查询失败,它会抛出错误信息,包括错误描述。要
php中一个html页面实现增删改查增加:insertinto表名(字段1,字段2,...)values('值1','值2',....)where条件;删除:delete表名修改:update表名set字段名='值'where条件;查询:select字段名from表名where条件;PHP操作MySQL,删除一行数据库,怎么写?删除一条记录简单方法,应该说是最简单的入门级的
php分页代码怎么写Web开发是今后分布式程式开发的主流,通常的web开发都要涉及到与数据库打交道,客户端从服务器端读取通常都是以分页的形式来显示,一页一页的阅读起来既方便又美观。所以说写分页程序是web开发的一个重要组成部分,在这里,我们共同来研究分页程序的编写。一、分页程序的原理分页程序有两个非常重要的参数:每页显示几条记录($pagesize)和当前是第几页($page)。
python怎么编写代码1、首先在Window上在安装Python时,已经已经安装了默认的交互式编程客户端,提示窗口:在python提示符中输入以下文本信息,然后按Enter键查看运行效果。2、然后,通过脚本参数调用解释器开始执行脚本,直到脚本执行完毕。当脚本执行完成后,解释器不再有效。所有Python文件将以 .py 为扩展名。将以下的源代码拷贝至test.py文件中。3、然
2025-02-01 20:24:39
2024-08-28 12:15:35
2024-02-21 12:26:18
2025-02-12 03:21:37
2025-02-10 15:19:48
2024-11-26 05:54:24