第9章 数组.ppt_第1页
第9章 数组.ppt_第2页
第9章 数组.ppt_第3页
第9章 数组.ppt_第4页
第9章 数组.ppt_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第9章 数组,数组就是能够轻松解决多个变量定义的方法。为了解决在处理许多变量时出现的困难,可以定义能够保存200个值的数组。数组除了可以同时保存一个或者多个值之外,操作起来也非常方便、灵活。一个变量只能保存单个值,但数组却能保存多个值。一个数组可以包含多个具有不同值的元素。,【例9-1】数组的定义与使用,数组型变量是一组具有相同类型和名称的变量的集合。PHP中的数组可以是一维的也可以是多维的,数组内元素的类型可以是数字、字符甚至是数组变量。 1定义数组 可以用array()语法结构来新建一个数组。它接受一定数量用逗号分隔的key = value 参数对。语法结构如下: array( key =

2、 value , . ) /key可以是整型或者字符串 /value可以是任何值 key可以是整型或者字符串。这一选项表示可选。如果键名是一个整型的标准表达方法,则被解释为整数(例如“8”将被解释为8,而“08”将被解释为“08”)。PHP 中数组下标的变量类型不会对数组造成影响,数组的类型只有一种,它可以同时包含整型和字符串型的下标。数组中的值可以是任何值。,【例9-1】数组的定义与使用,用方括号的语法新建/修改数组。 这是通过在方括号内指定键名来给数组赋值实现的,也可以省略键名,在这种情况下给变量名加上一对空的方括号(“”)。 $arrkey = value; $arr = value;

3、/key可以是整型或者字符串 /value可以是任何值 如果$arr还不存在,将会新建一个。这也是一种定义数组的替换方法。要改变一个值,只要给它赋一个新值。如果要删除一个键名/值对,要对它使用unset()函数。 unset($arr5); /从数组中删除键值为5的指定元素 unset($arr); /删除整个数组,【例9-1】数组的定义与使用,2数组元素的访问 本例中用于循环遍历数组中所有元素的代码如下: for($i=0;$icount($student1);$i+)/循环读取数组内容 echo $student1$i, /显示数组元素 以上代码是将数组$student1中的所有元素显示出

4、来。其中要注意两点: (1)count(数组名):用来统计指定数组的元素个数。 (2)数组名键值/下标值:用来访问具体的某个数组元素,如$student12返回的是数组$student1中下标为2的元素。,【例9-1】数组的定义与使用,3数组元素的修改 若要修改某个具体的元素,直接对$student$i进行操作即可。比如若将$student的第3个元素的值修改为smith,则可以直接写如下代码: $student2=”smith”; 注意:PHP中的数组下标是从0开始的,所以第一个元素为$student0,第三个元素为$student2。,【例9-1】数组的定义与使用,4计算数组中值出现的次数

5、 array_count_values()函数:统计每个特定的值在数组中出现的次数,此函数将返回一个包含频率表的相关数组。如有数组$stu4: 结果显示为: Array ( 4 = 1 5 = 1 1 = 3 2 = 2 3 = 1 ),【例9-2】多维数组,二维数组的格式即为$student,三维数组的格式为$student。本例主要介绍二维数组,以下是定义二维数组$student的代码: $student=array( 0=array(姓名,年龄,地址,联系电话), 1=array(sunny,24,ChangSha, 2=array(moon,22,Shang

6、Hai, 3=array(john,20,ShenYang,none), 4=array(lily,21,USA,none) ); /创建二维数组,数组元素也是数组 count()函数用来统计外层数组的元素个数以及内层数组的元素个数,访问第一维的元素个数用count($数组名),访问第二维的元素个数用count($数组名第一维的下标/键值)。,【例9-3】数组排序,数组的排序函数 排序函数说明 sort()将数组按字母升序进行排序 rsort()将数组按字母进行降序排序 asort()在不改变数组下标的情况下对数组进行升序排序 arsort()在不改变数组下标的情况下

7、对数组进行降序排序 ksort()对数组的下标进行升序排序 krsort()对数组的下标进行降序排序 usort()指定用户自定义的函数对数组排序 shuffle()对数组顺序进行随机化处理 array_reverse()使用一个数组作参数,返回一个内容与参数数组相同但顺序相反的数组,【例9-4】数组指针的移动,数组指针移动函数 函数名说明 current()返回数组当前指针指向的元素 end()将数组指针移至数组的尾部,即最后一个元素 reset()将数组指针移至数组的头部,即第一个元素 next()将数组指针下移一位,返回下移后指针指向的元素 prev()将数组指针上移一位,返回上移后指针

8、指向的元素 each()将数组指针下移一位,在指针前移一个位置前返回当前元素 pos()返回数组当前指针指向的元素,【例9-4】数组指针的移动,指针移动要注意以下几点: next()与each()的区别:next()是将指针后移一位,然后再返回新的当前元素。而each()是在指针下移一个位置之前返回当前元素。这种区别是很细微的,要注意到。 current()与pos():都是返回数组当前指针指向的元素。 利用指针的移动,循环遍历数组所有的内容,代码如下: while(current($num2) /判断当前元素是否为空 echo current($num2). /指针后移一位 ,【例9-5】合并数组,array_merge()函数:此函数对多个数组进行合并。 语法格式如下: array array_merge(数组1,数组2,数组3,数组4,) 一个数组中的值附加在前一个数组后面,把合并后的新数组作为函数的返回值。 若两个数组中存在相同的字符键名,那么后一个数组中的同键名的值将替换前一个数组中相应元素的值。像$student3与$student4两个数组,存在有相同的键名“b”、“a”、“d”,在合并的时候,后一个数组$student4中的同键名的值

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论