教你快速入门PHP编程“数组”.doc_第1页
教你快速入门PHP编程“数组”.doc_第2页
教你快速入门PHP编程“数组”.doc_第3页
教你快速入门PHP编程“数组”.doc_第4页
教你快速入门PHP编程“数组”.doc_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

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

文档简介

关于数组: PHP中的数组是复杂的,并且比许多其他高级语言中的数组更灵活。 数组array是一组有序的变量,其中每个变量被叫做一个元素。 数组可以被编号或者相关联,也就是数组的元素可以分别根据数字索引或文本化字符串来访问 PHP中,数组可以包含标量(整数,布尔,字符串,浮点数)或复合值(对象甚至其他数组),并且可以包含不同类型的值 1。创建数组 PHP提供创建数组的array()语言结构 $numbers = array(5,4,3,2,1); $words = array(web,database,application); echo $numbers2; echo $words0; -输出结果- 3web - 默认情况下,数组的第一个元素的索引为0。数组中包含的值可以通过使用方括号语法来检索和修改 $numbers5 = 0; 数字化索引的数组可以创建位从任何索引值开始 $numbers = array(1=one,two,three,four); 也可以松散的索引 $numbers = array(1=one,3=three,5=zero); 可以通过给变量赋予一个没有参数的array()来创建空数组。然后可以通过使用方括号语法来添加值 $error = array(); $error = no error!; $error = second error!; echo $error0; echo $error1; -输出结果- no error!second error! - 2.关联数组 关联数组(associative array)使用字符串索引(或键)来访问存储在数组中的值 关联索引的数组对于数据库层交互非常有用 $newarray = array(first=1,second=2,third=3); echo $newarraysecond; $newarraythird=5; echo $newarraythird; -输出结果- 25 - 3.异构数组 PHP数组可以包含不同种类的值 $mixedBag = array(cat,42,8.5,false); var_dump(mixedBag); 4.多维数组 创建包含数组的数组,数组维数没有限制,但是一般很难想象一个多于三维的数组的用法 $planets = array(array(MM,1,2),array(NN,3,4),array(BB,5,6),array(VV,7,8); print $planets20; $planets2 = array(MM=array(AA=1,SS=2), NN=array(DD=3,FF=4), BB=array(GG=6,HH=7,PP=array(haha!), VV=array(JJ=6,KK=7,LL=array(one,two); print $planets2VVLL0; -输出结果- BBone - 5.使用循环访问数组 遍历数组的方法有很多(使用while,for循环)或者foreach语句,最容易的是foreach 语句 $length = array(0,107,202,400,475); /将厘米转换为寸 for($i=0;$imoo,dog=woof, pig=oink,duck=quack); foreach ($sound as $animal=$noice) echo $animal 得叫声是这样的 $noice $noice.; -输出结果- cow 的叫声是这样的 moo moo. dog 的叫声是这样的 woof woof. pig 的叫声是这样的 oink oink. duck 的叫声是这样的 quack quack. - 6.使用数组指针 与存储在数组中的键和关联值一起,PHP还拥有一个指向数组当前元素的内部索引, 有几个函数使用并更新该数组索引来提供对数组元素的访问 $a = array(a,b,c,d,e,f); echo current($a); each($a); key($a);/目前数组的指针,返回其索引 echo current($a);/当前元素的值 each($a);/返回当前元素的值并将内部索引指向下一个元素 each($a); echo current($a); next($a);/指向下一个元素 echo current($a); prev($a);/指向上一个元素echo current($a); end($a);/指向最后一个元素 echo current($a); key($a); echo current($a); -输出结果- abdedff - 7.基本的数组函数 integer count(mixed var)/在数组中返回元素的个数,也可用于任何的变量 number max(array numbers)/返回数组中的最大值 number min(array numbers)/返回数组中的最小值 boolean in_array(mixed needle,array haystack,bollean strict)/查找数组中的值,第三个参数可选,强制执行类型检查 mixed array_search(mixed needle,array haystack,boolean strict)/返回 键 而不是布尔值, 找不到时返回false,找到的元素如果正好是第一个元素,则返回0,而PHP会自动转化为false所以需要使用=判断,如下 $a = array(a,b,c,d,e,f); $index = array_search(a,$a); if($index = false) echo 在数组a中未发现字符a; else echo Index = $index; -输出结果- Index = 0 - array array_reverse(array source,bool preserve_keys)/逆转数组,生成一个新数组,可选参数为true时,保留索引和元素之间的关联 $a = array(a,b,c,d,e,f); $newa = array_reverse($a);/直接翻转 echo $newa0; $newb = array_reverse($a,true);/依旧保留了索引和元素之间的关联 echo $newb0; -输出结果- fa - sort(array subject,integer sort_flag)/根据 值 进行升序排列(在原数组中重新排列元素) rsort(array subject,integer sort_flag)/根据 值 进行降序排列(在原数组中重新排列元素) 可选参数可以指定为按数字方式SORT_NUMERIC还是字符串方式SORT_STRING或者通常的方式SORT_REGULAR排序 sort()、rsort()可以用于关联数组,但是 键 将丢失 asort(array subject,integer sort_flag)/根据 值 进行升序排列(在原数组中重新排列元素),保持键值关联 arsort(array subject,integer sort_flag)/根据 值 进行降序排列(在原数组中重新排列元素),保持键值关联 当asort() arsort()用于非关联数组时,元素按排序后的次序重新排列,但是访问元素的索引不改变 integer ksort(ayyay subject ,integer sort_flag)/根据 键或索引 进行升序排列 integer krsort(ayyay subject ,integer sort_flag)/根据 键或索引 进行降序排列 usort(array subject, string compare_function)/根据用户定义排序,用户定义自己的排序规则函数,但函数必须符合 uasort(array subject, string compare_function)/integer my_compare_function(mixed a, mixed b),ab返回1,a uksort(array subject, string compare_function)/a等于b时返回0 $numbers = array(16,3,2,171,5,24,6,19); sort($numbers); foreach($numbers as $n) echo $n. ; $numbers = array(16,3,2,171,5,24,6,19); rsort($numbers); foreach($numbers as $n) echo $n. ; $numbers = array(16,3,2,171,5,24,6,19); sort($numbers,SORT_STRING); foreach($numbers as $n) echo $n. ; $a = array(o=kk,e=zz,z=hh,a=rr); asort($a); foreach ($a as $keyname=$keyvalue) echo $keyvalue; $a = array(o=kk,e=zz,z=hh,a=rr); ksort($a); foreach ($a as $keyname=$keyvalue) echo $keyvalue; /基于长度比较两个字符串 function cmp_length($a,$b) if(strlen($a) strlen($b) return 1; return 0; $animals = array(cow,ox,monkey,mimi); usort($animals,cmp_length); foreach($animals as $an) echo $an; -输出结果- 2 3 5 6 16 19 24 171 171 24 19 16 6 5 3 2 16 171 19 2 24 3 5 6 hhkkrrzzrrzzkkhhoxcowmimimonkey - array_merge($a,$b)/组合数组,个人认为是比较有趣的函数之一,从两个数组生成一个数组,具有相同 键 的值会被覆盖 /代码部分/ $a = array(name=zhangsan,10,100); $b = array(name=lisi,4,6,8); $c = array_merge($a,$b); var_dump($c); / -输出结果- array(6) name= string(4) lisi 0= int(10) 1= int(100) 2= int(4) 3= int(6) 4= int(8) - array array_combine(array $a,array $b

温馨提示

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

评论

0/150

提交评论