版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第三讲数组(重点),教材第5章,2011年8月19日星期五,本讲大纲:,1、创建和修改数组/多维数组2、数组与数组的函数3、使用foreach遍历数组,第三讲数组(重点),4、增删数组元素,5、数组排序(递增排序),6、数组合并/拆分,7、取数组元素最值,8、数组常用操作顺序查找数组值求和-Array_sum(数组名),2011年8月19日星期五,数组定义,一组由某种共同特性的元素组成的集合,每个元素都包括键(key)和值(value)分类:数值数组,关联数组,多维数组,2011年8月19日星期五,1、创建数组,PHP中的数组是一个关键字或值的集合(值可以是任何一种类型,包括另一个数组),例子
2、:$arr=array(3,5,7,9,6);$arr=array(“id”=2,“title”=3);,PHP中使用array来创建一个数组:array(key=value,key=value),关联数组:定义关键字的数组,可增强元素的可读性.=,2011年8月19日星期五,2、修改数组,用方括号的语法来修改数组元素值:$arr=value,例:$arr=array(“a”=“松山”,“b”=“学院”,“c”=“三);$arra=松山;$arrc=学院;,注:打印数组所有元素值:print_r(数组名),2011年8月19日星期五,例:二维数组:创建:$arr=array(array(2,3
3、),array(5,6)引用元素:$arr013删除取代数组元素值:array_spliceP98页,2、修改数组多维数组,2011年8月19日星期五,3、使用foreach遍历数组,遍历数组很多种方法,可以使用For循环,while循环,最巧妙的一种遍历数组foreach给我们带来了更多方便,结构一:访问输出数组每一个元素值:foreach($arras$value)echo“$value”;,for($i=0;$i”;,结构二:访问输出数组每一个元素的索引与元素值:foreach($arras$key=$value)echo“$key=$value”;,foreach遍历,传统遍历方式:,
4、P96页Each(),2011年8月19日星期五,;$r=each($arr);print_r($r);echo;echoeach一次后当前数组元素是:.current($arr).;/reset($arr);$rr=each($arr);print_r($r);echo;echoeach两次后当前数组元素是:.current($arr);?,P96页Each()移至下一位,Each()函数将保存当前元素,如需重新二次使用得reset().将数组的当前元素重新设置到数组开始处:重置指针reset(),实例:结合list和each函数遍历数组元素,2011年8月19日星期五,4、数组与数组的函数
5、,使用count函数统计数组条数(元素个数):,count($arr),is_array($arr),使用is_array函数判断数组:,另一种创建数组的函数explode:,explode(key,value),Current(数组名)得到数组当前指针Next(数组名)先移指针each(数组名)指针向后移一个元素(移至下一位)Prev(数组名)移至上一位end(数组名)将指针移至数组末尾,2011年8月19日星期五,增加数组元素(赋值方式):$arrname新增下标=新增元素值如:$arr3=“ab”$arr“new”=8删除数组元素:函数unset()销毁变量,也可以用于删除数组元素如:u
6、nset($arr3);栈方式:压入数组元素(栈方式):array_push(数组名,新加值1,新加值2)将一个或多个值压入数组末尾(即入栈)弹出数组元素:array_pop(数组名)将数组中最后一元素弹出(即出栈)如:array_push($arr,”a”,”b”)array_pop($arr),5、增删数组元素,2011年8月19日星期五,sort(数组名):将元素值升序排序,同时索引(键名)重新按0开始命名并进行排升序。排序成功返回true(1),失败返回false(0)如:$arr=array(3,1,4);sort($arr);foreach($arras$a)echo$a.;aso
7、rt(数组名):对元素值进行升序排序,但排序后索引保持和元素原先的关联,即索引依然跟着原来链接的值在一起ksort(数组名):对数组元素按照键名进行升序排序,但排序后索引保持和元素原先的关联。,6、数组排序(递增排序),2011年8月19日星期五,6、数组排序(递减排序),rsort(数组名):值降序,索引从0重排。arsort(数组名):值降序,索引保持原有链接krsort(数组名):值按照索引降序排,索引保持原有链接随机排序shuffle(数组名):针对数组元素没有一定规则,只需随机排.也可用于打乱一个数组时,并索引从0重排,返回的是一个布尔值。数组倒置array_reverse(数组名,
8、bool值是否保留原键名)返回一个相反顺序的新数组,原数组不变,2011年8月19日星期五,Array_merge(数组1,数组2,)注意如果合并的数组有相同的字符串索引,则该索引名对应的后面的值覆盖前面值,如果是数字索引则附加或重排。若想解决前面的覆盖问题可用简单的“+”运算实现简单连接,但却会把相同索引名(包括数字型)的后者值给丢弃。为避免所有元素不被丢弃,使用array_merge_recursive(数组1,数组2,)相同字符索引的会被合并到一个子数组中去,7、数组合并,2011年8月19日星期五,Array_chunk(数组名,分割小数组元素数量,是否保留原有索引)分割成多维数组默认
9、保留原有索引名,7、数组拆分,Max(数组名)Min(数组名),8、取数组元素最值,2011年8月19日星期五,顺序查找查找函数(in_array(查找的值,数组,是否检查数据类型一致性)默认否;返回true/falseArray_search(查找的值,数组,bool是否检查数据类型)返回找到的第一个匹配的元素对应的索引号Array_keys(数组,查找的值,bool)如查找的值不为空,返回值对应的索引号;否则数组中所有索引号被返回。数组值求和Array_sum(数组名):返回数组中所有元素值的总和,9、数组常用操作,2011年8月19日星期五,实例,在数组中查找某个值是否存在将数组值和键名
10、倒置,如”Iam”=”student”要变成“student”=“Iam”,2011年8月19日星期五,1.使用print_r函数输出数组,该函数能直接输出数组的_及其_.2.函数_返回与当前元素相关联的值,而函数_返回与当前元素相关联的键名。3.进行数组排序可以按数组的_或_进行排序,排序方式可以是_或_,4.sort函数不仅是重新排序,删除数组中原有的_,而且为数组单元赋予新的_,当本函数运行结束时,数组单元内容将按_重新排列,键名,数组的值,Current(),key(),键名,元素值,升序,降序,小测试,2011年8月19日星期五,1.能计算数组元素个数的是_A.listB.arrayC.countD.sort2.对数组元素值按从大到小进行排序的是_.A.sort()B.rsort()C.usort()D.ass
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026北京幼教面试题库及答案
- 2025年中国环氧聚酯型粉末涂料市场调查研究报告
- 2025年中国灰色ABS粒子市场调查研究报告
- 2025年中国涤纶布凉篷市场调查研究报告
- 2025年中国汽车前散热器罩市场调查研究报告
- 2025年中国成套实木家具市场调查研究报告
- 2025年中国丝光针织面料市场调查研究报告
- 肠梗阻的感染控制与护理
- 护理常识趣味问答
- 护理人才选拔与竞岗策略
- 2024版CSCO胰腺癌诊疗指南解读课件
- 材料物理知到智慧树章节测试课后答案2024年秋南开大学
- 广东茶艺师(技师)考前强化练习题库300题(含答案)
- 高中生物必修一、二、三课本边角知识
- 第11课-东欧社会主义国家的改革和演变
- 退费账户确认书
- 血液透析患者的运动康复管理
- 关于《幼儿园园长专业标准(试行)》的分析与解读
- 《动画场景设计》第六章 动画场景中的陈设道具
- GB/T 239.2-2023金属材料线材第2部分:双向扭转试验方法
- GB/T 1303.6-2009电气用热固性树脂工业硬质层压板第6部分:酚醛树脂硬质层压板
评论
0/150
提交评论