数组是程序设计中,把具有相同类型的若干变量按有序的形式组织起来的,这些按序排列的同类数据元素的集合称为数组。我们可以把PHP数组变量理解为可以容纳一个或多个值的“容器”。数组的应用场合非常的多,用数组来操作数据库就是常见的一种。这里我们会从数组定义、声明使用、遍历和排序四个方面,详细解读PHP数组的内容,帮助大家打好语法基础,更好的学习和使用PHP。更多PHP的学习内容,请阅读《深入探讨PHP类的封装与继承》《PHP相关面试中最经常涉及的12个问题》《教你利用PHP生成PDF文件》。
数组的定义数组的本质是管理和操作一组变量,数组中可以存储任意长度的数据,也可以存储任意类型的数据。数组中的单元称为元素,每个元素包括下标(键)和值,访问元素的时候,是通过下标来访问,包括一维数组,二维数组及多维数组(即数组的嵌套),PHP中分为索引数组和关联素组。(1)索引数组:使用整数作为索引,如$arr=array(PHP课程,HTML课程,CSS课程);(2)关联数组:使用字符串作为索引,如$arr=array(ID=1,name=PHP课程,class=PHP);
PHP数组的声明和使用1.直接为数组元素赋值声明如果索引下标不给出,就会从0开始顺序索引;如果给出索引下标,下一个就会从最大的下标开始增1;如果后面出现前面的下标,则会为前面的元素重新赋值;混合声明时,索引数组和关联数组不互相影响。例如:$array[0]=I;$array[1]=love;$array[2]=PHP;print_r($array);其中,print_r()是一个特殊的函数,允许你查看PHP数组变量里面的值,会按照一定键值和元素的顺序显示出该数组中的所有元素。这对于程序的调试很有帮助。2.使用array()函数声明默认是索引数组,如果为关联数组,需要为数组指定下标,使用“键=值”,多个成员之间使用,分割。例如:$fruits=array(red=apple,yellow=banana,purple=plum,green=grape);print_r($fruits);
PHP数组的遍历我们经常要对数组进行遍历,PHP中遍历数组的方法有多种,可以使用for()循环遍历数组,在这里,经常会用到sizeof()函数,该函数是常用的数组函数之一,返回数组的大小,即读取数组内元素的个数,作为循环计数器的上限值。还可以使用list()函数遍历数组,它只能用于数字索引的数组,且数字索引从0开始。PHP中还可以使用专门用于对数组循环目的函数:foreach()。foreach()对传递给它的数组中的每一个元素执行一次,它不需要计数器或调用函数sizeof(),它可以自动跟踪数组在数组中的位置,同时需要更少的维护。foreach()有两种语法结构:(1)foreach(array_expressionas$value)(2)foreach(array_expressionas$key=$value)第一种结构会遍历给定的array_expression数组,每次循环中,当前单元的值被赋给$value并且数组内部的指针向前移一步。第二种结构中,当前单元的键名也会在每次循环中被赋给$key。foreach循环运行到结束,原数组的内部指针将指向数组的结尾。例如:foreach($arras$value){echoValue:$value;}foreach($arras$key=$value){echoKey:$key;Value:$value;}
PHP数组的排序对数组元素进行排序,我们在做项目时使用也比较多,涉及的相关函数也有很多,比如sort(),rsort(),usort(),ksort(),uasort(),uksort()等等,这里先介绍几个。使用sort()和rsort()分别对数组进行升序和降序,例如:$arr=array(23,4,65,11,64,8);sort($arr);print_r($arr);运行结果:Array([0]=4[1]=8[2]=11[3]=23[4]=64[5]=65)另外,我们可以注意到通过sort函数排序之后,数组原有的索引键名会被重新分配。rsort()会对数组进行逆向排序。如果使用了关联数组,在排序后还要保持关键字和值的排序一致,这就需要使用ksort()和asort()函数,例如:$array=array(PHP=1,jsp=2,asp=3);ksort($array);print_r($array);运行结果:Array([asp]=3[JSP]=2[php]=1)希望以上内容可以帮助你更好地理解和使用PHP数组。
(请您点击下方“阅读原文”,便可以点击查看内容里的其他超链接)
下列是小编为您搜集的相关阅读热文,正在持续更新中。。。。
您只要回复文章题目的序号,例如:2.1,即可查看:
2.0《测试评估:14种排序算法和PHP数组》
2.1《PHP程序员的技术成长规划》
2.2《PHP初学者要注意的14个问题》
2.3《分享13款PHP开发框架》
2.4《为什么开发者对PHP又爱又恨?》
2.5《如何通过配置高效环境实现PHP优化》
北京中科白癜风医院白癜风最先进治疗方法