PHP程序设计基础第4章-数组.pptx

上传人:可****阿 文档编号:77588964 上传时间:2023-03-15 格式:PPTX 页数:47 大小:516.24KB
返回 下载 相关 举报
PHP程序设计基础第4章-数组.pptx_第1页
第1页 / 共47页
PHP程序设计基础第4章-数组.pptx_第2页
第2页 / 共47页
点击查看更多>>
资源描述

《PHP程序设计基础第4章-数组.pptx》由会员分享,可在线阅读,更多相关《PHP程序设计基础第4章-数组.pptx(47页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、PHP数组第四章目录01 PHP数组概述03 PHP数组创建、修改和删除04 PHP数组遍历05 数组相关函数02 PHP数组分类01 PHP数组概述数组是什么变量中保存单个数据,而数组中则保存的是多个变量的集合。使用数组的目的就是将多个相互关联的数据组织在一起形成一个整体,作为一个单元使用。数组的组成由于数组是由数组元素组成的,而数组中的元素又分为两部分,分别为键和值。“键”是数组元素的识别名称,也被称为数组下标。“值”为数组元素的内容。“键”和值之间使用“=”连接。数组各个元素之间使用逗号“,”分割。最后一个元素后面的逗号可以省略。01 PHP数组概述例:$week=array(a=星期一

2、,b=星期二,c=星期三);星期一星期二星期三$week内存abc包含三个元素:$weeka$weekb$weekc键值01 PHP数组概述02 PHP数组分类PHP中将数组分为一维数组、二维数组和多维数组,但是无论是一维还是多维,可以统一将数组分为两种:数字索引数组(indexedarray)和关联数组(associativearray)。(1)数字索引数组数字索引数组,下标(键名)由数字组成,默认从0开始。$arr_int=array(PHP入门与实战,C#入门与实战,VB入门与实战);02 PHP数组分类(2)关联数组关联数组的键名可以是数字和字符串混合的形式。$arr_string=a

3、rray(PHP=PHP入门与实战,Java=Java入门与实战,C#=C#入门与实战);03 PHP数组创建、修改和删除数组创建与其它语言的数组实现方式不同,php不需要在创建数组时指定其大小;因为php是一种松散类型的语言,所以甚至不需要在使用前先声明;在PHP中创建数组的方式主要有2种:(1)直接为数组元素赋值。(2)应用array()函数创建数组。数组创建(1)使用赋值方式定义数组赋值方式定义数组就是创建一个数组变量,然后使用赋值运算符直接给变量赋值。语法:$arrayNamekey=value;$arrayName=value;其中,键key可以是整型或者字符串,值value可以是任

4、何类型。注意:通过直接为数组元素赋值的方式声明数组时,要求同一数组元素中的数组名相同。03 PHP数组创建、修改和删除数组创建示例:$arr=PHP;$arr=Java;$arr3=C语言;$arr5=C+;$arrsub=IOS;$arr=网页设计;print_r($arr);03 PHP数组创建、修改和删除数组创建(2)使用array()函数来创建一个数组:array()函数定义数组就是将数组的元素作为参数,各元素间使用逗号“,”分割。语法:array(key=value,key=value,)示例:$info=array(id=1,name=Tom);$fruit=array(1=app

5、le,3=banana);$num=array(1,4,7,9);$mix=array(tel=110,help,3=msg);03 PHP数组创建、修改和删除数组创建在定义数组时,需要注意以下几点:(1)数组元素的下标只有整型和字符串两种类型,如果有其他类型,则会进行类型转换。(2)在PHP中合法的整数值下标会被自动的转换为整型下标。(3)若数组存在相同的下标时,后面的元素值会覆盖前面的元素值。(4)如果给出方括号但没有指定键,则取当前最大整数索引值,新的键将是该值加1,如果当前还没有整数索引,则键将为0。03 PHP数组创建、修改和删除数组创建示例:理论,b=教程);$arr=99;$ar

6、r=100;print_r($arr);?结果:Array(a=理论b=教程0=991=100)03 PHP数组创建、修改和删除访问、删除、修改数组或数组元素(1)访问数组由于数组中的元素是由键和值组成的,而键又是数组元素的唯一标识,因此可以使用数组元素的键来获取该元素的值。示例:$info=array(id=1,name=Tom);echo$infoname;/输出结果:Tom03 PHP数组创建、修改和删除访问、删除、修改数组或数组元素但若想要查看数组中的所有元素,使用以上方式会很繁琐,为此,PHP提供了print_r()和var_dump()函数,专门用于输出数组中的所有元素。示例:pr

7、int_r()函数可以按照一定的格式显示数组的键和值。var_dump()函数不仅具有print_r()函数的功能,还可以获取数组中元素的个数和数据类型。$info=array(id=1,name=Tom);print_r($info);/输出结果:Array(id=1name=Tom)var_dump($info);03 PHP数组创建、修改和删除访问、删除、修改数组或数组元素(2)删除数组PHP中提供的unset()函数既可以删除数组中的某个元素,又可以删除整个数组。示例:$fruit=array(apple,pear);unset($fruit1);print_r($fruit);/输出

8、结果:Array(0=apple)unset($fruit);print_r($fruit);/输出结果:Notice:Undefinedvariable:fruit.03 PHP数组创建、修改和删除访问、删除、修改数组或数组元素(3)用方括号的语法来修改数组元素:$arr=value示例:理论,b=教程,c=第五次课);$arra=PHP学习;$arre=第五讲;print_r($arr);?03 PHP数组创建、修改和删除(1)使用foreach遍历数组遍历数组有很多种方法,可以使用For循环,while循环,最巧妙的一种遍历数组的方法foreach给遍历数组带来了很多方便。foreach

9、($arras$key=$value)04 PHP数组遍历04 PHP数组遍历示例:foreach语句后面的()中的第一个参数是待遍历的数组名字foreach语句后面的()中的第二个参数$key表示数组元素的键。foreach语句后面的()中的第三个参数$value表示数组元素的值。$fruit=array(apple,pear);foreach($fruitas$key=$value)echo$key.-.$value. /输出结果:0-apple1-pear04 PHP数组遍历当不需要获取数组的键时,上述示例也可以写成如下形式:示例:foreach($fruit as$value

10、)echo$value. /输出结果:apple pear 04 PHP数组遍历(2)使用for循环遍历数组。?php$bookinfo=array(PHP程序设计,王彦辉,36,东软电子出版社);for($int_i=0;$int_icount($bookinfo);$int_i+)/count()是统计数组元素个数的函数echo$bookinfo$int_i.;?04 PHP数组遍历(3)使用print_r()函数$arr=array(array(2,4),array(3,5);print_r($arr);结果:Array(0=Array(0=21=4)1=Array(0=31=

11、5)04 PHP数组遍历(4)使用数组指针遍历数组key()返回数组当前指针元素的索引;current()返回数组当前指针元素的值;next()将数组指针向前移动一位,并返回当前指针元素的值;如果超出了数组元素的末尾,则返回FALSE;04 PHP数组遍历prev()将数组指针往回移动一位,并返回当前指针元素的值;如果指针本来就位于数组的第一个位置则返回FALSE;reset()将指针指向第一个元素,并返回第一个元素的值end()将数组指针指向最后一个元素,并返回最后一个元素的值;04 PHP数组遍历each()返回数组当前指针元素的键和值,并将指针推进一个位置;list()把数组中的值赋给一

12、些变量;04 数组遍历例1:?php$arr=array(apple,banana,orange);echocurrent($arr).;each($arr);echocurrent($arr).;next($arr);echocurrent($arr).;end($arr);echocurrent($arr).;list($val1,$val2,$val3)=$arr;echo$val1.;echo$val2.;?04 数组遍历例2:$fruits=array(apple,banana,orange);doechokey($fruits).current($fruits);while(nex

13、t($fruits);04 数组遍历例3:$fruits=array(apple,banana,orange);while($arr=each($fruits)echo$arrkey.$arrvalue.;04 数组遍历例4:$fruits=array(apple,banana,orange);while(list($key,$value)=each($fruits)echo$key.$value;05 数组相关函数(1)count()函数count()函数用于计算数组中元素的个数。示例:count()函数的第二个参数默认为0时,只计算一维数组的个数。count()函数的第二个参数设为1时,表

14、示递归地对数组计数。$stu=array(array(Tom,male,18),array(Alice,female,15),array(Julia,female,14);echocount($stu);/输出结果:3echocount($stu,1);/输出结果:12(2)range()函数range()函数用于建立一个包含制定范围单元的数组。示例:$arr=range(a,c);print_r($arr);/输出结果:Array(0=a1=b2=c)05 数组相关函数(3)array_merge()函数array_merge()函数用于合并一个或多个数组。示例:$array1=array(

15、food=tea,2,4);$array2=array(a,food=Cod,type=jpg,4);$result=array_merge($array1,$array2);/输出结果:Array(food=Cod0=21=42=atype=jpg3=4)print_r($result);05 数组相关函数(3)array_merge()函数数组array2与array1中的字符串下标重复,则后面的下标值覆盖前面的下标值,输出Cod,没有重复的下标元素正常输出。其他以数字为下标的数组,键名会以连续方式重新索引。例如:array1中的4合并后下标为1,array2中的4合并后的下标为3。05

16、数组相关函数(4)array_chunk()函数array_chunk()函数可以将一个数组分割成多个。示例:$arr=array(one=1,two=2,three=3);/输出结果:Array(0=Array(0=11=2)1=Array(0=3)print_r(array_chunk($arr,2);/输出结果:Array(0=Array(one=1two=2)1=Array(three=3)print_r(array_chunk($arr,2,true);05 数组相关函数(4)array_chunk()函数array_chunk()函数的第一个参数表示待分割数组。array_chun

17、k()函数的第二个参数用于指定分割后数组中元素的个数,最后一个数组的元素个数可能会小于指定个数。array_chunk()函数的第三个参数在默认或设为false的情况下,表示分割后数组的下标从0开始,当设为true时,表示保留待分割数组中原来的键名。05 数组相关函数(5)is_array-检测变量是否是数组语法:boolis_array(mixedvar)如果var是array,则返回TRUE,否则返回FALSE(6)empty-检查一个变量是否为空语法:boolempty(mixedvar)如果var是非空或非零的值,则empty()返回FALSE。换句话说,、0、0、NULL、FALSE

18、、array()、var$var;以及没有任何属性的对象都将被认为是空的,如果var为空,则返回TRUE05 数组相关函数(7)数组排序函数通常情况下,若要对数组进行排序,则需要遍历数组,并对数组中的元素进行比较。实际上,在PHP中提供了许多用于排序的数组函数,方便程序开发。函数名功能描述sort()对数组排序rsort()对数组逆向排序ksort()对数组按照键名排序krsort()对数组按照键名逆向排序asort()对数组进行排序并保持索引关系arsort()对数组进行逆向排序并保持索引关系shuffle()打乱数组顺序array_reverse()返回一个单元顺序相反的数组05 数组相关

19、函数sort:本函数为array中的元素赋予新的键名。这将删除原有的键名而不仅是重新排序。rsort:本函数对数组进行逆向排序(最高到最低)。删除原有的键名而不仅是重新排序。asort:对数组进行排序并保持索引关系arsort:对数组进行逆向排序并保持索引关系ksort:对数组按照键名排序,保留键名到数据的关联krsort:对数组按照键名逆向排序,保留键名到数据的关联05 数组相关函数函数:sort(array,sorttype)说明:sort()函数按升序对指定数组(第一个参数)进行排序。sort函数第二参数作用为指定排序类型,是可选参数,可能的值为:SORT_REGULAR:默认值,不改变

20、类型进行排序;SORT_NUMERIC:把值作为数字进行排序;SORT_STRING:把值作为字符串进行排序;如数组中有4和”37,按数字排序,4小于”37;按字符串排序,4大于”37;05 数组相关函数?php$price=array(32.00,28.00,38.50);echo排序前结果:;foreach($priceas$value)echo$value.;sort($price);/排序echo排序后结果:;foreach($priceas$value)echo$value.;?05 数组相关函数rsort(array,sorttype)参数用法与sort函数相同。使用rsort()

21、对数组进行降序排序。?php$array=array(5,26,37,18,9,42,88,66);rsort($array);for($i=0;$i结果:8866423726189505 数组相关函数关联数组排序:函数:asort(array,sorttype)说明:根据关联数组的元素值进行升序排序。参数使用见上面的sort函数。函数:ksort(array,sorttype)说明:根据关联数组的关键字进行升序排序。参数使用见上面的sort函数。05 数组相关函数32.00,WY=28.00,PHP=38.50);echo排序前结果:;foreach($priceas$key=$value)

22、echo$key.-.$value.;ksort($price);echo排序后结果:;foreach($priceas$key=$value)echo$key.-.$value.;?05 数组相关函数(8)explode()返回由字符串组成的数组语法:arrayexplode(stringseparator,stringstr,intlimit)Separator为必要参数,指定的分割符;Str为必要参数,指定将要被分割的字符串;Limit为可选参数。如果设置了limit参数,则返回的数组包含最多limit个元素,而最后的元素将包含string的剩余部分,如果limit参数是负数,则返回除了最后的-limit个元素外的所有元素。05 数组相关函数例:$str=11,22,33,44,55,66;$arr=explode(,$str);print_r($arr);结果:Array(0=111=222=333=444=555=66)05 数组相关函数(9)implode()将数组元素连接成字符串例:结果:a*b*c*d05 数组相关函数本章小结本章首先介绍了数组的概念,然后讲解了数组的基本操作,主要包括数组指针、数组遍历等,最后讲解了在实际编程中用到的常用数组函数。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 工作计划

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁