PHP数组实验报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
PHP数组实验报告
班级:10网工三班学生姓名:谢昊天学号:1215134046
实验目的和要求:
掌握PHP的数组声明;
掌握PHP的数组定义;
掌握PHP数组的遍历和排序;
熟练运用数组完成相关的任务。
实验内容:
自己构造一个名字为students的二维数组,每个学号代表一名学生,该学生的信息由“姓名”、“性别”、“成绩”组成,数组中的元素至少具备5条。
然后按照学生的成绩高低对该二维数组进行排序,并在网页中显示排序前后的students数组。
实验步骤与调试过程:
1、启动wamp服务器;
2、注册并打开editplus.exe文件在打开弹出对话窗口选择给定的php程序,程序一定要保存C:\wamp\www 目录下;
3、在editplus中对程序进行编辑添加代码实现功能;
4、编写一个二维数组,然后进行添加数组元素;
5、编写一个函数function array_rsort ($arr,$keys, $type='desc') { // $arr 数组,$keys 所需要进行排序的键值,$type顺序;
6、定义一个变量数组$keysvalue = $new_array = array();
7、使用foreach循环,把二维数组的第一层数组进行赋值给$keysvalue = $new_array;
8、用if语句来判断排列数组类型是升序还是降序;
9、使数组执行第一个元素reset($keysvalue);
10、再用foreach编译$keysvalue数组,并把数组的值赋给$new_array数组,返回$new_array数组;
11、调用函数$stu = array_rsort($student,'grade');并赋值给变量$stu;
12、$students["000001"]=array("学号"=>"000001","姓名"=>"张三","性别"=>"女","成绩"=>60);
$students["000002"]=array("学号"=>"000002","姓名"=>"张四","性别"=>"女","成绩"=>90);
$students["000003"]=array("学号"=>"000003","姓名"=>"张五","性别"=>"男","成绩"=>85);
$students["000004"]=array("学号"=>"000004","姓名"=>"张六","性别"=>"女","成绩"=>78);
$students["000005"]=array("学号"=>"000005","姓名"=>"张七","性别"=>"男","成绩"=>91);
13、最后打印排序后的数组print_r($stu)。
实验结果:
1、按照实验要求顺利创建数组,对二维数组进行了声明,定义了相应的二维数组。
2、对数组进行初始化数据
3、按照成绩高低对二维数组进行排序
4、利用表格对输出数据进行输出
5、通过自定义函数实现排序,和表格输出
实验总结:
通过本次试验,我对PHP流程控制思想有了进一步的了解,通过动手实现PHP 数组编程及运行,更加深刻的理解了PHP数组的特点。在做实验的过程中了解了php支持的两种数组类型:索引数组和联合数组,前者使用数字作为键,后者使用字符串作为键。数组的构造一维数组:当一个数组的元素是变量时,则称其为一维数组。声明一位数组:类型说明符数组名[常量表达式];二维数组:当一个数组的元素是一个一位数组时,则称之为二维数组。对二维数组排序有了一定的认识。同时,在实验过程中,回顾书本上的理论知识,巩固了我的知识。
主要算法和程序清单:
shiyan
$students["000001"]=array("学号"=>"000001","姓名"=>"张三","性别"=>"女","成
绩"=>60);
$students["000002"]=array("学号"=>"000002","姓名"=>"张四","性别"=>"女","成绩"=>90);
$students["000003"]=array("学号"=>"000003","姓名"=>"张五","性别"=>"男","成绩"=>85);
$students["000004"]=array("学号"=>"000004","姓名"=>"张六","性别"=>"女","成绩"=>78);
$students["000005"]=array("学号"=>"000005","姓名"=>"张七","性别"=>"男","成绩"=>91);
$students1=array_sort($students,"成绩");
function array_sort($arr,$keys,$type='asc'){
$keysvalue = $new_array = array();
foreach ($arr as $k=>$v){
$keysvalue[$k] = $v[$keys];
}
if($type == 'asc'){
arsort($keysvalue);
}else{
asort($keysvalue);
}
reset($keysvalue);
foreach ($keysvalue as $k=>$v){
$new_array[$k] = $arr[$k];
}
return $new_array;
}
print_r($students1);
$data=$students1;
array_table_view($data);
function array_table_view($data)
{
>