目录

  • 1 为什么要好好学习
    • 1.1 ​清华大学110校庆习近平讲话
    • 1.2 耶鲁校长2021开学演讲:当世界置身火海,读书意义何在?
    • 1.3 我和我的祖国
    • 1.4 江梦南:半岁失聪的清华女博士!
  • 2 项目一:网站分析与环境配置
    • 2.1 PHP简介
    • 2.2 PHP开发环境与工具
  • 3 项目二:生活中的数学问题
    • 3.1 常量与变量
    • 3.2 数据类型及类型转换
    • 3.3 运算符与优先级
    • 3.4 流程控制语句之顺序结构
    • 3.5 流程控制语句之分支结构
    • 3.6 流程控制语句之循环结构
    • 3.7 流程控制及结构嵌套
    • 3.8 拓展任务
  • 4 项目三:实现日历应用
    • 4.1 自定义函数及函数作用域
    • 4.2 数字操作函数
    • 4.3 日期时间函数
    • 4.4 实现日历应用
  • 5 项目四:图像验证码的实现
    • 5.1 数组的创建与初始化
    • 5.2 数组遍历和输出
    • 5.3 数组的排序及检索
    • 5.4 数组元素操作函数
    • 5.5 字符串处理函数
    • 5.6 字符串查找与替换
    • 5.7 字符串比较与转换
    • 5.8 项目拓展
  • 6 项目五:基于文件名的目录搜索
    • 6.1 目录操作
    • 6.2 文件操作
    • 6.3 拓展任务
  • 7 项目六:问卷调查系统
    • 7.1 (选学)表单及常用表单元素
    • 7.2 获取表单数据
    • 7.3 处理表单控件的值
    • 7.4 文件上传操作
    • 7.5 拓展任务:会员注册页面
  • 8 项目七:简单新闻系统的设计制作
    • 8.1 phpmyadim图形化工具管理数据库
    • 8.2 PHP访问MySQL数据库
    • 8.3 操作SQL数据
    • 8.4 简单新闻系统的设计制作
    • 8.5 拓展任务
  • 9 综合项目(选学内容)
    • 9.1 项目分析
    • 9.2 项目实践
数组的排序及检索

一、导学

学习目标及重难点:

动态网页设计与制作 》专业课程教学设计模板

课程名称

动态网页设计与制作

任课教师

韩多成

授课日期

年  月  日

年  月  日

年  月  日

年  月  日

授课班级





授课地点





教研室主任审核意见

 

签名:

                                   年   月   日

题 目

数组的排序和检索

学习目标

知识目标

1、数组的排序

2、数组检索

技能目标

培养学生的自学能力、动手实践能力和创新能力。

素质目标

培养学生的团队精神和成功意识,增强学生学习的自信心,形成主动学习的良好氛围。

思政目标

诚信:通过监督平时作业的完成情况,强调诚信的重要性,不抄袭。

严谨:程序设计一定要有严谨的态度,能够从各个不同的角度测试并衡量程序的正确性和高效率。

坚持:程序的学习需要坚持到底的努力,坚持每周进步一点点。

 

 

教学重点

 

内  容

数组的排序函数

数组检索函数

突破方法与手段

 

讲授法,探索教学,讨论法,练习法

 

教学难点

内  容

数组的排序函数

数组检索函数

突破方法与手段

讲授法,探索教学,讨论法,练习法

教学资源

 

多媒体机房、ppt课件、配套资源、教案、教材


二、教学过程:

3、观看微视频:“数组的排序”

理解数组排序中键名排序和键值排序的区别,掌握各自排序函数的应用。注意排序完之后键名和键值的关联情况

sort()和rsort():对数组排序,并重新分配自动索引键名

asort()和arsort():对数组排序,排序后仍然保持键名和值之间的关联。

ksort()和krsort():对数组键名进行排序,排序后键名和值之间的关联不改变。


3、理解数组的排序,输入并调试对应的程序代码。

5、观看微视频:查询数组中指定元素

理解数组检索函数中对键值的查找和取得,并掌握键值查找和取得函数的应用

理解数组检索函数中对键名的查找和取得,并掌握键值查找和取得函数的应用


6、理解并掌握数组的检索函数,输入并调试对应的程序代码。

10、整理笔记、完成本节课测试作业。

11、下课签到

三、教学资料:

教案:

动态网页设计与制作 》专业课程教学设计模板 

课程名称

动态网页设计与制作

任课教师

韩多成

授课日期

年  月  日

年  月  日

年  月  日

年  月  日

授课班级





授课地点





教研室主任审核意见

 

签名:

                                   年   月   日

题 目

数组的排序和检索

学习目标

知识目标

1、数组的排序

2、数组检索

技能目标

培养学生的自学能力、动手实践能力和创新能力。

素质目标

培养学生的团队精神和成功意识,增强学生学习的自信心,形成主动学习的良好氛围。

思政目标

诚信:通过监督平时作业的完成情况,强调诚信的重要性,不抄袭。

严谨:程序设计一定要有严谨的态度,能够从各个不同的角度测试并衡量程序的正确性和高效率。

坚持:程序的学习需要坚持到底的努力,坚持每周进步一点点。

 

 

教学重点

 

内  容

数组的排序函数

数组检索函数

突破方法与手段

 

讲授法,探索教学,讨论法,练习法

 

教学难点

内  容

数组的排序函数

数组检索函数

突破方法与手段

讲授法,探索教学,讨论法,练习法

教学资源

 

多媒体机房、ppt课件、配套资源、教案、教材

 


教学过程设计

教学环节

(用时)

内容设计

情景引入

教学内容

点名,复习上节课内容及总结作业,引入本节课所要讲解内容。

运算符及优先级

【引入】程序基本的是由顺序、选择、循环三种结构组成的,今天我们来学习选择结构程序设计。

教师活动

点名,回顾上节课学习内容,引入本节课学习内容

学生活动

回顾上节课内容,了解本节课学习内容

设计意图

通过温故知新,引入本节课学习内容

新课讲授

教学内容

  2.2.4 数组的排序

PHP的数组操作函数中,有专门对数组进行排序的函数,使用这些函数可以对数组进行升序或降序排列。

1. 升序排列

sort():对数组排序,并重新分配自动索引键名

asort():对数组排序,排序后仍然保持键名和值之间的关联。

ksort():对数组键名进行排序,排序后键名和值之间的关联不改变。

2. 降序排序

rsort()sort函数的降序应用

arsort()asort函数的降序应用

krsort()ksort函数的降序应用

3. 对多维数组排序

array_multisort()

4. 对数组重新排序

shuffle()array_reverse()

5. 自然排序

 natsort()

 

Sort()函数示例

<?php

 

$array1 = array("a" => 6, "n" => 4, 4 => 8, "c" => 2);

$array2 = array(2 => "c", 4 => "a", 1 => "b");

if (sort($array1))

print_r($array1);  //输出:Array ( [0] => 2 [1] => 4 [2] => 6 [3] => 8 )

else

echo "排序\$array1失败";//不输出

if (sort($array2))

print_r($array2);//输出:Array ( [0] => a [1] => b [2] => c )

?>

Asort()函数示例:

<?php

 

$fruits=array("d"=>"lemon","a"=>"orange","b"=>"banana","c"=>"apple");

asort($fruits);

print_r($fruits);

//输出:Array ( [c] => apple [b] => banana [d] => lemon [a] => orange )

?>

ksort()函数示例:

<?php

 

$fruits = array("d" => "lemon", "a" => "orange", "b" => "banana", "c" => "apple");

ksort($fruits);

print_r($fruits);

//输出:Array ( [a] => orange [b] => banana [c] => apple [d] => lemon )

?>

2.2.5 数组检索

7检查数组中的键名和键值

检查数组中是否存在某个键名可以使用array_key_exits()函数,是否存在某个键值使用in_array()。这两个函数都为布尔型,存在则返回true,不存在则返回false

语法格式:bool in_array ( mixed Value, array arry [, bool strict] )

函数功能:检查数组arr中是否存在值Value,如果存在则返回TRUE,否则返回FALSE。如果第三个参数strict的值为TRUE,则in_array() 函数还会检查数据类型是否相同。strict的默认值为FALSE

说明:如果Value是字符串,则比较时区分大小写。

语法格式:bool array_key_exists( mixed key, array arry )

array是要检索的数组,key是要检索的键名,键名存在返回true,不存在,返回false

1

<?php

$arr = array("张三" => "60","李四" => "50","王五" => "40","赵六" => "60", "孙七" => 60);

var_dump($arr);

echo "<p>查找60是否存在:";

var_dump(in_array("60", $arr));

echo "<p>查找40是否存在:";

var_dump(in_array(40, $arr));

echo "<p>查找40是否存在,严格模式:";

var_dump(in_array(40, $arr, true));

var_dump($arr);

echo "<p>查找张三是否存在:";

var_dump(array_key_exists("张三", $arr));

echo "<p>查找刘一是否存在:";

var_dump(array_key_exists("刘一", $arr));

?>

2

<?php

$array = array(1, 2, 3, 5 => 4, 7 => 5);

if (in_array(5, $array))         //判断是否存在值5

echo "数组中存在值:5";     //输出"数组中存在值:5"

if (!array_key_exists(3, $array))   //判断是否不存在键名3

echo "数组中不存在键名:3";  //输出"数组中不存在键名:3"

?>

8、取得数组当前单元的键名

使用key()函数可以取得数组当前单元的键名。

<?php

$array=array("a"=>1,"b"=>2,"c"=>3,"d"=>4);

echo key($array);         //输出"a"

next($array);            //将数组中的内部指针向前移动一位

echo key($array);        //输出"b"

?>

9、取得数组中所有的键名和键值

使用array_keys()array_values()函数可以取得数组中所有的键名和键值,保存到一个新的数组中。

1array_keys()函数

语法格式:array  array_keys ( array arr [, mixed searchValue [,bool strict]] )

函数功能:array_keys() 函数以数组的形式返回arr数组中的键名。 如果指定了可选参数searchValue,则只返回searchValue值的键名;否则arr数组中的所有键名都会被返回。strict需要配合value使用,true表示严格模式,考虑数据类型,false表示不考虑数据类型,默认为false

说明:如果searchValue是字符串,则比较以区分大小写的方式进行。

  2array_values()函数

语法格式:array  array_values ( array arr )

函数功能:array_values() 函数以数组的形式返回arr数组中所有的元素值,并为该数组建立连续的整数

1 

<?php

$arr = array("red" => "红色", "blue" => "蓝色", "green" => "绿色");

$newarr1 = array_keys($arr);      //取得数组中的所有键名

$newarr2 = array_values($arr);    //取得数组中的所有值

print_r($newarr1);

//输出结果为:Array ( [0] => red [1] => blue [2] => green )

print_r($newarr2);

//输出结果为:Array ( [0] => 红色 [1] => 蓝色 [2] => 绿色 )

?>

2 

<?php

$arr = array("张三" => "60","李四" => "50","王五" => "40","赵六" => "60", "孙七" => 60);

var_dump($arr);

echo "<p>返回所有键名</p>";

var_dump(array_keys($arr));

echo "<p>返回所有值为60键名</p>";

var_dump(array_keys($arr, "60"));

echo "<p>返回所有值为60键名,严格模式</p>";

var_dump(array_keys($arr, "60", true));

echo "<p>返回所有值</p>";

var_dump(array_values($arr));

?>

3.检查数组中是否存在某个键名和值可以使用array_key_exists()(键名)in_array()(键值)函数,

10array_search()()函数

array_search()函数用于搜索数组元素中,是否存在某个键值,如果存在,即返回该元素的键名或索引,否则返回空值。其语法格式如下:

array_search($value,$array)

其中,$value是要搜索的值,$array是数组名。

<?php    

$arr=array(1,2,3,4,5);

$k=array_search(3,$arr);

$m=array_search(7,$arr);

?>

 

 

 

 

教师活动

使用各种教学方法,利用多媒体机房和教学课件,教学案例等教学资源,对教学内容进行讲授

学生活动

配合教学活动,学习相关知识。

设计意图

讲授新知识,让学生学习本节课内容。

实践练习

教学内容

实践练习

结合本节课所学知识,理解教材上案例并调试运行。

完成操作练习题

教师活动

安排练习内容,辅导学生完成对应的操作练习

学生活动

领取实践练习任务,按照要求完成相关操作

设计意图

让学生能熟练掌握所学知识,通过实践练习进一步强化操作技能

板书设计


作业布置

课后配套练习

教学反思



教学课件: