PHP数组实验报告

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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)

{

>