PHP应用开发与实践第7章 数组.ppt
(1)数组是一组数据的集合,将数据按照一定规则组织起来,形成一个可操作的整体。(2)数组的本质是储存、管理和操作一组变量。(3)数组分为两种:数字索引数组(indexedarray)和关联数组(associativearray)。(4)数字索引数组使用数字作为键名,关联数组使用字符串作为键名。(5)数字索引数组,下标(键名)由数字组成,默认从0开始,每个数字对应数组元素在数组中的位置,不需要特别指定,PHP会自动为数字索引数组的键名赋一个整数值,然后从这个值开始自动增量。(6)关联数组,下标(键名)由数值和字符串混合的形式组成。如果一个数组中,有一个键名不是数字,那么这个数组就叫做关联数组。(7)数组的名称由一个美元符号开始,第一个字符是字母或下划线,其后是任意数量的字母、数字或下划线。(8)在同一个程序中,标量变量和数组变量都不能重名。(9)数组的名称区分大小写。(10)用户创建数组应用的是标识符“[]”,通过标识符“[]”可以直接为数组元素赋值。知识点提炼7-1sort()、asort()和ksort()三者之间有什么差别?分别在什么情况下会使用上面三个函数?7-2有一数组$a=array(8,2,7,5,1);请将其重新排序,按从小到大的顺序输出。7-3编写一个函数,对数组中元素按从大到小的顺序排序,并且执行效率要高。(注意:不可以使用PHP内置函数)7-4编写一个函数对二维数组进行排序。习题**2.for语句遍历数组如果要遍历的数组是数字索引数组,并且数组的索引值为连续的整数时,可以使用for循环来遍历,但前提条件是需要应用count()函数获取到数组中元素的数量,然后将获取的元素数量作为for循环执行的条件,才能完成数组的遍历。【例7-6】下面使用for循环来遍历数组$array,代码如下:?php$array=array( //定义数组 0=PHP入门与实战, 1=JAVA入门与实战, 2=VB入门与实战, 3=VC入门与实战 );for($i=0;$icount($array);$i++){ //使用for循环遍历数组 echo$array[$i].br; //输出数组元素}?运行结果如图7-10所示。图7-10使用for循环遍历数组3.通过数组函数list()和each()遍历数组list()函数list()函数将数组中的值赋给一些变量,该函数仅能用于数字索引的数组,且数字索引从0开始。语法如下:voidlist(mixed...)参数mixed为被赋值的变量名称。each()函数each()函数返回数组中的键名和对应的值,并向前移动数组指针。其语法如下:arrayeach(arrayarray)参数array为输入的数组。【例7-7】下面使用list()和each()函数来遍历数组$array,具体代码如下:?php$array=array( //定义数组 0=PHP入门与实战, 1=JAVA入门与实战, 2=VB入门与实战, 3=VC入门与实战 );/*使用list函数获取each函数中返回数组的值并分别赋给$name和$value,然后使用while循环输出*/while(list($name,$value)=each($array)){ echo$name=$value.br; //输出list函数获取到的键名和值}?运行结果如图7-11所示。图7-11通过数组函数list()和each()遍历数组在前面已经实践过数组的输出,就是print_r()函数和echo语句。print_r()函数可以输出数组的结构,也可以使用var_dump()函数,同样是输出数组的结构;echo语句则是单纯的输出数组中的某个元素,而且要有标识符[]和数组索引的配合,其格式是“echo$array[0]”。同样还有print语句,它也可以单纯的输出数组中的某个元素值7.4.2输出数组元素7.5PHP数组函数7.5.1获取数组中最后一个元素7.5.2删除数组中重复元素7.5.3获取数组中指定元素的键名 7.5.4数组键与值的排序7.5.5字符串与数组的转换在PHP中,通过array_pop()函数可以获取并返回数组中的最后一个元素,并将数组的长度减一,如果数组为空(或者不是数组)将返回null。语法如下:mixedarray_pop(array