已阅读5页,还剩1页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
l 数组可以通过用户创建取得,也可以由函数返回,或由函数创建,例如:数据库查询函数。数组就是具有相同属性变量的集合,其本质就是操作和管理存储在其中的变量。l 关键内容:数组的建立 数组的遍历l 数组是一组具有相同数据类型元素组成的一个有序图。PHP中的图是一种把 values(值)映射到 keys(键名)的类型。数组通过使用array()函数定义,其值使用“key=value”的方式设置,多个值通过逗号分割。数组的定义,如以下代码所示。l banana,l red=flower,l 3=三,l 03=叁“l );l /直接为数组赋值l $two = array(1,2,3,4,5,6,7,8,9);l /带有一个键名的数组l $three = array(6=六,七,八,九,十);l ?l 数组的简单操作包括显示、添加、修改和删除,演示代码如下所示。l ?php/定义一个空数组l $ages = array();l /使用向数组中添加一个没有键名的值l $ages = 十七;l /使用向数组中添加一个有键名的值l $ages18 = 十八;l $ages19 = 91;l /显示数组中的值l echo $ages19;l /改变数组中的一个值l $ages19 = 19;l /删除数组中的一个值l unset($ages19);l /删除整个数组l unset($ages);l /自动生成一个数组并为其赋值l $newages = 20;l $newages = 21;l 遍历数组,就是把数组中的值,通过某种方法一一展现。数组的应用,大多都要求对数组进行遍历。遍历数组的方法很多,使用foreach()函数遍历数组的方法遍历数组l $value) l echo 值$value的键名是$key;l l /使用foreach遍历数组,只取值l foreach($colors as $value)l echo 没有键名,只有值:$value;l l ?1 创建数组的几种方法在以前介绍的创建数组的方法中,都是由用户使用array()函数来创建的,4.1小节将介绍使用数组函数创建数组的方法。这些方法不仅可以创建了数组,还可以实现更多的数组功能,以满足用户的需要。1.1 新建一个数组array()函数就是一个典型的数组函数,用户可以使用其创建一个新的数组,这个新数组可以是空数组,也可以包括定义时给定的数组元素。使用array()函数建立数组的演示代码如下所示。50,2=120,3=260,4=300);/创建一个二组数组$two = array(color = array(red,blue,green),numbers = array(1,2,3,4,5,6,7,8,9)/显示数组所示元素print_r($two);/访问数组单个元素echo $speed2;echo $twocolor0;?1.2 使用变量建立数组使用compact()函数,可以把单个变量或多个变量,甚至数组,添加为数组的成员,这些数组成员的键名是变量的变量名,值是这些变量的值。compact()函数的参数是要添加入数组的变量的变量名。compact()函数使用方法的演示代码如下所示。1.3 使用两个数组创建一个数组使用array_combine()函数,可以把两个数组合并为一个数组,但不是把两个数组的成员相加,而是使用第1个数组作为新数组的索引,另一个数组作为新数组的值。array_combine()函数使用方法演示代码如下所示。2 数组中键名和值的操作数组函数中对键名和值操作的函数比较多,对键名和值的操作,不仅仅是对已经定义完成的数组进行操作,还可以使用这些函数改变数组的键名和值,以达到程序运行的要求。2.1 检查数组中是否存在某个键名或值当一个数组有很多元素时,使用数组遍历来求证某个值或键名是否存在,在速度和效率上有一定的损失。PHP的数组函数提供了更好的解决方法,使用in_array()和array_key_exists()函数,可以快速从一个数组中取得某个值或键名是否存在的情况,下面演示in_array()和array_key_exists()函数的使用方法,2.2 把数组中的值赋与指定变量与访问变量相比,访问数组成员相对来说是比较麻烦的。而使用list()函数,可以把数组中的值,赋与指定的变量名,这时就可以在程序中使用这些直观的变量了。下面演示list()函数的使用方法,代码如清单所示。$value=array(a,b,c,D);list($a,$b)=$value;echo $a.$b;2.3 交换数组中的键名和值通常在操作数组时,主要是针对数组单元的值,但是在有些情况下,需要对键名进行修改,删除等操作,这时可以使用array_flip()函数,来交换数组的键名和值,来达到修改或删除键名的操作。下面演示array_flip()函数的使用方法,代码如下所示。清单 array_flip()函数的使用方法50,2=120,3=260,4=300);/使用array_filp()函数交换键名与值$speed = array_flip($speed);echo 交换键名与值后的数组;print_r($speed);echo ;?3 遍历数组的3种方法只有在详细了解数组单元的情况下,才可以对数组做出正确的操作,虽然可以使用print_r()函数和var_dump()函数,来查看数组的成员,但是这两个函数,没有返回值可供操作。而遍历数组,才是在实际应用中,最多访问数组的方法。3.1 使用while、list与each访问数组list()函数可以把当前数组单元,转换为变量使用。each()函数可以返回数组中当前单元的键名与值,并将数组指针向下移动一步。使用这两个函数,结合while循环语句,就可以实现对数组的遍历。3.2 使用for、foreach 访问数组最常用的遍历数组的就是foreach语句,而且foreach语句也只能用于数组遍历。在实际使用中,可能只是对数组的某一部分进行访问,就不需要对整个数组的单元都遍历一次。这时可以使用for循环语句,就可以实现类似的功能,演示代码如下所示。?php/定义一个数组$array = range(1,100);/使用for循环访问定义数组的一部分for($i=20;$i=30;$i+)/显示单元的值echo $array$i;/使用for循环语句遍历整个数组for($i=0;$i4 数组的排序使用数组排序函数,可以把排序混乱的数组,进行重新整理,变得易于访问或操作。数组排序函数有很多,在实际使用时,可以根据情况来选择或组合使用。4.1对数组排序使用sort()函数,可以对已经定义的数组,进行重新排序,使得数组单元从低到高重新索引。sort()函数演示代码如下所示。b,1=a,3=c,4=d);/使用sort对数组排序if(sort($array) = TRUE)echo 数组排序成功!;print_r($array);elseecho 数组排序失败;/输出:数组排序成功!Array ( 0 = a 1 = b 2 = c 3 = d ) ?4.2 对数组逆向排序数组逆向排序应使用rsort()函数,函数运行后,使得排序数组单元从高到低重新索引。rsort()函数演示代码如下所示。b,1=a,3=c,4=d);/使用sort对数组排序if(rsort($array) = TRUE)echo 数组排序成功!;print_r($array);elseecho 数组排序失败;/输出:数组排序成功!Array ( 0 = d 1 = c 2 = b 3 = a ) ?4.3 对数组排序并保持索引关系使用sort()或rsort()函数,虽然能对数组进行排序,但是实际应用中,有些重要的数组需要保持单元的索引关系。在排序的同时,保持数组的索引关系,可以使用asort()和arsort()函数。asort()函数是把数组按正向排序,arsort()函数把数组按逆向排序。下面演示这两个函数的使用方法,4.4 对数组按照键名排序使用ksort()、krsort()函数,可以对数组的键名进行排序,并且可以保持键名与值的关联。ksort()函数用于对数组的键名进行正向排序,krsort()函数用于对数组的键名进行逆向排序。下面演示这两个函数的使用方法,代码如清单所示。清单 ksort()、
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 【正版授权】 IEC 60153-2:2025 EN-FR Hollow metallic waveguides - Part 2: Relevant specifications for ordinary rectangular waveguides
- 【正版授权】 ISO/TR 18155:2025 EN Railway applications - Principles of train detection for operations and services
- 校招三方协议后合同
- 服装的出口合同范本
- 村民办民宿合同范本
- 农村厨房转让协议书
- 出库免责协议书模板
- 教育部做好2025届全国普通高校毕业生就业创业工作(全文)易考易错模拟试题(共500题)试卷后附参考答案
- 个人演出协议书范本
- 区域经理聘任协议书
- 高空曲臂车安全操作规程
- 2025年粉尘涉爆培训题库及答案
- 第4章 学前儿童膳食卫生与保健【教学课件】
- DL-T 1476-2023 电力安全工器具预防性试验规程
- (高清版)DZT 0399-2022 矿山资源储量管理规范
- 智慧售电方案
- 数字化人力资源管理系统建设
- 国有企业投资公司绩效考核管理办法
- 模板支撑系统大样图
- T-CAPDA 006-2020 丙酰芸苔素内酯原药
- 家族财富传承法商
评论
0/150
提交评论