第4章 数组ppt课件(完整版).pptx
《第4章 数组ppt课件(完整版).pptx》由会员分享,可在线阅读,更多相关《第4章 数组ppt课件(完整版).pptx(79页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第4章 数组ppt课件(完整版)第4章 数组PHP基础案例教程(第2版)学习目标/Target 熟悉数组的概念,能够区分索引数组和关联数组 掌握数组的基本使用方法,能够对数组进行定义、访问、遍历、删除等操作 掌握顺序查找法和二分查找法的使用,能够使用这些方法查找数组中的数据学习目标/Target 掌握冒泡排序、选择排序、快速排序和插入排序算法,能够使用这些算法完成对数组的排序 掌握常用数组函数的使用方法,能够利用这些函数完成对数组的操作 掌握数组和字符串的转换方法,能够在程序中灵活处理这两种数据的转换章节概述/ Summary数组是PHP中重要的数据类型之一,在PHP中广泛应用。标量类型的变量
2、只能保存一个数据,而复合类型的数组变量能够保存一批数据,从而很方便地对数据进行分类和批量处理。本章将围绕数组的相关知识进行详细讲解。目录/Contents010203初识函数函数的基本使用函数查找目录/Contents040506数组排序常用数组函数数组与字符串之间的转换初识数组 先定一个小目标!熟悉数组的概念,能够区分索引数组和关联数组4.1 初识数组4.1 初识数组当操作大批量的数据(如一个班级的所有学生数据、一个公司的所有员工数据)时,为了存储这些数据,传统的方式是每条数据都定义为一个标量类型的变量来保存,这种方式非常麻烦。为了提高开发效率,可以使用数组类型的变量来保存。数组类型属于数据
3、类型中的复合类型,用于存储大批量的数据。张三李四王五$stu1$stu2$stu3张三李四王五标量类型变量$arr数组类型变量4.1 初识数组数组是存储一组数据的集合,数组中的数据称为数组元素,每个数组元素由键(Key)和值(Value)构成。“键”为数组元素的识别名称,也被称为数组下标。“值”为数组元素的内容。“键”和“值”之间使用“=”连接。数组元素之间使用逗号“,”分隔,最后一个数组元素后面的逗号可以省略。根据键的数据类型,可以将数组划分为索引数组和关联数组4.1 初识数组1. 索引数组索引数组是指键的数据类型为整型的数组。默认情况下,索引数组的键是从0开始,并依次递增,也可以自己指定索
4、引数组的键。索引数组主要适用于通过索引来标识数组元素的情况,与关联数组相比,不需要为每个数组元素赋予特定的含义。4.1 初识数组2. 关联数组关联数组是指键的数据类型为字符串型的数组。通常情况下,关联数组的“键”和“值”之间有一定的业务逻辑关系,经常使用关联数组来存储具有逻辑关系的变量。数组的基本使用 先定一个小目标!掌握数组的定义,能够通过array()语言结构法、赋值和短数组定义法3种方式定义数组4.2.1 定义数组4.2.1 定义数组数组元素使用“键=值”的方式来表示,各个元素之间使用“,”分隔。1. array()语言结构法定义索引数组$fruits = array(apple, gr
5、ape, pear); / 省略键名$sports = array(2 = basketball, 4 = football); / 指定键名4.2.1 定义数组数组元素使用“键=值”的方式来表示,各个元素之间使用“,”分隔。1. array()语言结构法定义关联数组通过关联数组的键名可以准确地描述出该数组元素的含义。例如id表示编号,name表示名称,tel表示电话号码。4.2.1 定义数组1. array()语言结构法在定义数组时,数组的“键”有明确的数据类型要求,只能是整型或字符串型,如果是其他类型,会自动进行类型转换。l 字符串型的合法数字会被转换成整型,如“2”转换成2,而“02”则
6、不会被转换。l 浮点型会被舍去小数部分直接转换成整型,如2.6转换成2。l 布尔型的true会被转换成1,false转换成0。l NULL型会被转换成空字符串。4.2.1 定义数组1. array()语言结构法在定义数组时,还可以定义既有索引表示方式又有关联表示方式的数组,称为混合数组。数组元素“b”指定了数字键名为5,则其后的数组元素会自动将最大的数字键名加1作为其键名,因此数组元素“a”的键名为6。$mixed = array(2, str, id = 5, 5 = b, a);4.2.1 定义数组1. array()语言结构法当数组中的元素又是一个数组时,就构成了二维数组。$data =
7、 array( 0 = array(name = Tom, gender = 男), 1 = array(name = Lucy, gender = 女), 2 = array(name = Jimmy, gender = 男);在PHP中还可以定义三维数组、四维数组等多维数组。虽然PHP没有限制数组的维数,但是为了在实际应用中便于代码阅读和维护,推荐使用三维及以下的数组保存数据。4.2.1 定义数组2. 赋值方式赋值方式定义数组就是创建一个数组变量,将数组的值通过赋值运算符赋给数组变量。使用赋值方式定义数组,也可以理解为将单独的数组元素赋值给变量。需要注意的是,赋值方式不能定义空数组。$ar
8、r = 123; / 存储结果:$arr0 = 123$arr = hello; / 存储结果:$arr1 = hello$arr4 = PHP; / 存储结果:$arr4 = PHP$arrname = Tom; / 存储结果:$arrname = Tom$arr = Java; / 存储结果:$arr5 = J4.2.1 定义数组3. 短数组定义法短数组定义法()与array()语言结构法的使用方式相同,只需将“array()”替换为“”即可。$weather = wind, fine; / 相当于:array(wind, fine)$info = a = 1, b = 2; / 相当于:
9、array(a = 1, b = 2)4.2.2 访问数组 先定一个小目标!掌握数组的访问,能够访问数组中的具体数组元素4.2.2 访问数组若要访问数组中某个具体的数组元素,可以通过“数组名键名”的方式访问。$sub = PHP, Java, C, Android;$data = goods = clothes, num = 49.90, sales = 500;/ 访问索引数组echo $sub1;/ 输出结果:Javaecho $sub3;/ 输出结果:Android/ 访问关联数组echo $datagoods;/ 输出结果:clothesecho $datasales;/ 输出结果:4
10、.2.2 访问数组标签用于格式化输出结果,从而更好地展示数组元素。若要一次性访问数组中的所有元素,则可以利用 print_r() 或 var_dump()。echo ;print_r($sub);/ print_r()函数打印$sub数组var_dump($data);/ var_dump()函数打印$data数组echo ;4.2.2 访问数组$sub数组输出结果$data数组输出结果( 0 = PHP 1 = Java 2 = C 3 = Android)array(3) goods= string(7) clothes num= float(49.9) sales= int(500)4.
11、2.3 遍历数组 先定一个小目标!掌握数组的遍历,能够指依次访问数组中的每个元素4.2.3 遍历数组遍历数组是指依次访问数组中每个元素。$info = id = 1, name = Jacie, age = 18;/ 方式1foreach ($info as $k = $v) echo $k . : . $v . ;/ 输出的结果:id: 1 name: Jacie age: 18/ 方式2foreach ($info as $v) echo $v . ;/ 输出的结果:1 Jacie 4.2.3 遍历数组foreach ($info as $k = $v) echo $k . : . $v
12、. ;待遍历的数组名数组元素的“键” 数组元素的“值”$k和$v的变量名称可以自定义。当不需要遍历数组元素的键名时,可以在as关键字后直接设置一个变量表示当前数组元素的值。4.2.4 删除数组 先定一个小目标!掌握数组的删除,能够使用unset()删除数组中的元素4.2.4 删除数组定义数组后,有时也需要根据实际情况删除数组中的某个元素。例如,定义一个保存全班学生信息数组,若班级中有一个学生转学了,就需要在数组中将这个学生的信息删除。4.2.4 删除数组使用unset()语言结构可以删除数组中的数据。 name = Tom, hobby = swimming, 2 = name = Lucy,
13、 hobby = sing, 3 = name = Jacie, hobby = running, 4 = name = Jimmy, hobby = basketball;unset($data2);/ 删除键名为2的数组元素echo ;print_r($data);echo ;4.2.5 数组运算符 先定一个小目标!掌握数组运算符的使用,能够对数组进行运算4.2.5 数组运算符PHP提供了数组运算符对数组进行运算。运算符作用示例结果+联合$a + $b$a和$b的联合=相等$a = $b如果$a和$b具有相同的键值对,则为true=全等$a = $b如果$a和$b具有相同的键值对,并且顺序
14、和类型都相同,则为true!=不等$a != $b如果$a不等于$b则为true 不等$a $b如果$a不等于$b则为true!=不全等$a != $b如果$a不全等于$b则为true“+”用于合并数组,如果出现键名相同的元素,则保留运算符左边数组内的元素。4.2.5 数组运算符联合运算符的使用示例如下。$num = 2, 4;$str = a, b, c;$temp1 = $num + $str;$temp2 = $str + $num;print_r($temp1); / 输出结果:Array ( 0 = 2 1 = 4 2 = c ) print_r($temp2); / 输出结果:Ar
15、ray ( 0 = a 1 = b 2 = c )数组查找 先定一个小目标!掌握顺序查找法,能够利用顺序查找法查找数组元素4.4.1 顺序查找法4.4.1 顺序查找法顺序查找法是将待查找的值与数组中的元素依次逐个进行比较,直到在数组中找到目标值,如果没有找到目标值,则查找失败。当在数组中查找元素7时,第一次将7和55进行比较,返回false,然后将7和9进行比较,以此类推,直到找到目标值。 先定一个小目标!掌握二分查找法,能够利用二分查找法查找元素4.4.2 二分查找法4.4.2 二分查找法二分查找法是针对有序数组的一种查找数据的方法,它的查询效率非常高。二分查找法是将查找的值与数组中间位置的
16、元素值进行比较,如果相等返回结果;如果不相等则排除掉数组中一半的元素,根据查找的值与数组元素的比较结果,再与数组中剩余一半元素中间位置的元素值进行比较,以此类推,直到找到目标值,否则查找失败。数组排序 先定一个小目标!掌握冒泡排序,能够利用冒泡排序算法对数组进行排序4.4.1 冒泡排序4.4.1 冒泡排序冒泡排序是比较简单的排序算法。它的实现原理是,将数组元素按照从小到大或从大到小的顺序排序,不断比较数组中相邻两个数组元素的值,较小或较大的元素前移。冒泡排序比较的轮数是数组的长度减1,每轮比较的次数是数组的长度减当前的轮数。 先定一个小目标!掌握选择排序,能够利用选择排序算法对数组进行排序4.
17、4.2 选择排序4.4.2 选择排序选择排序是一种非常直观的排序算法,它的实现原理是,从待排序的数组中选出一个最小或最大的元素与数组的第1个元素互换,接着再在剩余的数组元素中选择最小或最大的一个与数组的第2个元素互换,依次类推,直到待排序数组全部数组元素排序完成。 先定一个小目标!掌握快速排序,能够利用快速排序算法对数组进行排序4.4.3 快速排序4.4.3 快速排序快速排序的实现思路是:首先选择一个基准元素,通常选择待排序数组的第1个数组元素。通过循环数组元素,将待排序的数组分成两个部分,其中一部分比基准元素小,另一部分比基准元素大,然后再利用同样的方法递归地排序划分出的两部分,直到将所有划
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第4章 数组ppt课件完整版 数组 ppt 课件 完整版
限制150内