版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
4.1数组的概述分类及声明陈学平1数组的概述2数组分类一维数组声明二维数组的声明3数组的声明目录011数组的概述1数组的概述PHP中的数组实际上是一个有序图。图是一种把values映射到keys的类型。此类型在很多方面做了优化,因此可以把它当成真正的数组来使用,或列表(矢量),散列表(是图的一种实现),字典,集合,栈,队列以及更多可能性。因为可以用另一个PHP数组作为值,也可以很容易地模拟树。所谓的数组下标可以视为资料内容在此数组中的识别名称,通常被称为数组下标。当索引值为数值时,也代表此资料内容在数组中的储存位置。数组中有几个层次就被称为几维数组。022数组的分类数组的分类4.2数组分类:在PHP中有两种数组:索引数组和关联数组。索引(indexed)数组的索引值是整数,以0开始。当通过位置来标识东西时用索引数组。关联(associative)数组以字符串做为索引值,关联数组更像操作表。索引值为列名,用于访问列的数据。033数组的声明3.1直接赋值的方式声明数组数组常用的赋值方式由于PHP是属于弱类型数据,因此源代码中的数组并不需要经过特别的声明操作,直接将一组数值指定给某一数组元素即可。一般情况下数组的赋值有两种方式:直接赋值方式如:$a[0]='spam@126.com';$a[1]='abuse@';使用array函数如:$a=array('spam@126.com','abuse@');直接赋值格式:$数组变量名[索引值]=资料内容3.1直接赋值的方式声明数组数组常用的赋值方式其中索引值(下标)可以是一个字符串或一个整数。等价于整数(不以0开头)的字符串值被当作整数对待。因此,数组$array[3]与$array[‘3’]是引用相同的元素。但是$array[‘03’]引用的另外不同的元素。3.1直接赋值的方式声明数组最常用数组数组中索引值(下标)只有一个的数组称为一维数组。在数组中这是最简单的,也是最常用的了。实例1:一维索引数组实例代码如下:$a[0]=1;$a[1]=2;$a[2]=3;$b[]=1;$b[]=2;$b[]=3;$b[6]=4;$b[]=5;<?php实例1:一维索引数组echo$a[2].'<BR/>';01?>02输出03304505上面实例数组的下标是数字,这种数组是索引数组。06实例2:关联数组07实例代码如下:08<?php09echo$b[7];10实例1:一维索引数组$a["name"]="zhang";01$a["age"]=23;02$b["name"]="lisi";03$b[]="woman";04$b["age"]=28;05$b[8]=4;06$b[]=5;07echo$a['sex'].'<BR/>';08echo$b[9];?>09$a["sex"]="man";10实例1:一维索引数组输出结果:01man02503上面实例是一维关联数组,下标是字符串,这些数组是关联数组。043.2使用array()语言结构新建数组格式:array([key=>]value,...)//key可以是integer或者string//value可以是任何值key可以是integer或者string。如果键名是一个integer的标准表达方法,则被解释为整数(例如“8”将被解释为8,而“08”将被解释为“0”)。key中的浮点数被取整为integer。如果对给出的值没有指定键名,则取当前最大的整数索引值,而新的键名将是该值加一。如果指定的键名已经有了值,则该值会被覆盖。3.2使用array()语言结构新建数组实例3:使用array()创建数组实例代码如下:$a=array(1,2,3,4,5,6);$b=array("one","two","three");$c=array(0=>"aaa",1=>"bbb",2=>"ccc");$d=array("aaa",6=>"bbb","ccc");$e=array("name"=>"zhang","age"=>20);echo$a[5].'<BR/>';echo$b[0].'<BR/>';echo$c[1].'<BR/>';<?php3.2使用array()语言结构新建数组实例3:使用array()创建数组echo$d[0].'<BR/>';print_r($e);输出结果:6onebbbaaa20Array([name]=>zhang[age]=>20)echo$e['age'].'<BR/>';3.3多维数组的声明多维数组的声明方式及规则,与一维数组相同。03实例4二维数组的声明实例4二维数组的声明实例代码如下:01<?php02$a[0]=0;03$a[0]=1;04$a['string'][0]='Zero';05$a['string'][1]='One';06print_r($a);07?>08输出结果:09实例4二维数组的声明Array([0]=>1[string]=>Array([0]=>Zero[1]=>One))如果以array语法声明,则如下程序片段:04实例4-2array语法声明二维数组实例4-2array语法声明二维数组01实例代码如下:02<?php03$a=array(040=>array(0,1),05'string'=>array('Zero','One'),06);07print_r($a);08?>输出结果Array([0]=>Array([0]=>0[1]=>1)[string]=>Array([0]=>Zero[1]=>One))谢谢4.1数组的概述分类及声明陈学平1数组的概述012数组的分类023数组的声明03目录011数组的概述1数组的概述PHP中的数组实际上是一个有序图。图是一种把values映射到keys的类型。此类型在很多方面做了优化,因此可以把它当成真正的数组来使用,或列表(矢量),散列表(是图的一种实现),字典,集合,栈,队列以及更多可能性。因为可以用另一个PHP数组作为值,也可以很容易地模拟树。所谓的数组下标可以视为资料内容在此数组中的识别名称,通常被称为数组下标。当索引值为数值时,也代表此资料内容在数组中的储存位置。数组中有几个层次就被称为几维数组。1数组的分类4.2数组分类:在PHP中有两种数组:索引数组和关联数组。索引(indexed)数组的索引值是整数,以0开始。当通过位置来标识东西时用索引数组。关联(associative)数组以字符串做为索引值,关联数组更像操作表。索引值为列名,用于访问列的数据。02数组的声明3.1直接赋值的方式声明数组数组常用的赋值方式由于PHP是属于弱类型数据,因此源代码中的数组并不需要经过特别的声明操作,直接将一组数值指定给某一数组元素即可。一般情况下数组的赋值有两种方式:直接赋值方式如:$a[0]='spam@126.com';$a[1]='abuse@';使用array函数如:$a=array('spam@126.com','abuse@');直接赋值格式:$数组变量名[索引值]=资料内容3.1直接赋值的方式声明数组数组常用的赋值方式其中索引值(下标)可以是一个字符串或一个整数。等价于整数(不以0开头)的字符串值被当作整数对待。因此,数组$array[3]与$array[‘3’]是引用相同的元素。但是$array[‘03’]引用的另外不同的元素。3.1直接赋值的方式声明数组最常用数组数组中索引值(下标)只有一个的数组称为一维数组。在数组中这是最简单的,也是最常用的了。03数组声明实例实例1:一维索引数组实例代码如下:$a[0]=1;$a[1]=2;$a[2]=3;$b[]=1;$b[]=2;$b[]=3;$b[6]=4;$b[]=5;<?php实例1:一维索引数组echo$a[2].'<BR/>';01?>02输出03304505上面实例数组的下标是数字,这种数组是索引数组。06实例2:关联数组07实例代码如下:08<?php09echo$b[7];10实例1:一维索引数组$a["name"]="zhang";01$a["age"]=23;02$b["name"]="lisi";03$b[]="woman";04$b["age"]=28;05$b[8]=4;06$b[]=5;07echo$a['sex'].'<BR/>';08echo$b[9];?>09$a["sex"]="man";10实例1:一维索引数组5上面实例是一维关联数组,下标是字符串,这些数组是关联数组。man输出结果:谢谢4.4数组的遍历陈学平01FOR循环数组的遍历4.1使用for循环遍历数组conut($arr);用于统计数组元素的个数。for循环只能用于遍历,纯索引数组。如果存在关联数组,count统计时会统计两种数组的总个数,使用for循环遍历混合数组,导致数组越界!!实例5for循环遍历索引数组4.1使用for循环遍历数组<?php
$arr=array(1,2,3,5,6,7);
$num=count($arr);
//count最好放到for外面,可以让函数只执行一次
echo"数组元素的个数{$num}<br/>";
for($i=0;$i<$num;$i++){
echo"{$i}==>{$arr[$i]}<br/>";
}
?>024.2forEach循环遍历数组4.2forEach循环遍历数组foreach循环结构:foreach仅用于数组,有两种语法。foreach($arras$value){}foreach($arras$key=>$value){}第一种格式遍历给定的array_expression数组。每次循环中,当前单元的值被赋给$value并且数组内部的指针向前移一步4.2forEach循环遍历数组第二种格式做同样的事,只除了当前单元的键值也会在每次循环中被赋给变量$key。注:当foreach开始执行时,数组内部的指针会自动指向第一个单元。此外注意foreach所操作的是指定数组的一个拷贝,而不是该数组本身。实例6foreach循环遍历数组实例代码如下:<?php$a=array(10,20,30,40,50,60);foreach($aas$k=>$v){echo"$k=>$v<br>";}?>4.2forEach循环遍历数组谢谢PHPlist()、each()和while循环遍历数组和指针控制数组陈学平01联合使用list()、each()和while循环遍历数组024.4使用数组的内部指针控制函数遍历数组目录4.4.3联合使用list()、each()和while循环遍历数组arrayeach(arrayarray)返回array数组中当前指针位置的键/值对并向前移动数组指针。键值对被返回为四个单元的数组,键名为0,1,key和value。单元0和key包含有数组单元的键名,1和value包含有数据。如果内部指针越过了数组的末端,则each()返回FALSE。each()经常和list()结合使用来遍历数组。voidlist(mixed...)它不是真正的函数,而是语言结构。list()用一步操作给一组变量进行赋值。注:list()仅能用于数字索引的数组并假定数字索引从0开始。4.4.3联合使用list()、each()和while循环遍历数组在执行each()之后,数组指针将停留在数组中的下一个单元或者当碰到数组结尾时停留在最后一个单元。如果要再用each遍历数组,必须使用reset()。实例8使用list()、each()和while循环遍历数组实例代码如下:<?php$fruit=array('a'=>'apple','b'=>'banana','c'=>'cranberry');reset($fruit);while(list($key,$val)=each($fruit)){echo"$key=>$val\n";}$arr=array("one"=>"aaa","two"=>"bbb","three"=>"cccc");while($sz=each($arr)){//echo$sz[0]."===>".$sz[1]."<br>";echo$sz["key"]."===>".$sz["value"]."<br>";}?>输出结果a=>appleb=>bananac=>cranberryone===>aaatwo===>bbbthree===>cccc030102数组指针的控制函数由于数组是由多笔资料集合而成,所以当程序需要运算处理其中某个索引位置的资料内容时,会由数组之中内定的指针,指向目标资料,以提供程序作正确的读取。下面针对数组指针控制的相关函数,作简单的说明介绍:next()、prev()、end()及reset()这四个函数可以控制目前数组中的指针位置。next()负责将指针向后移动prev()负责将指针向前移动end()会将指针指向数组中最后一个元素reset()函数则会将目前指针无条件移至第一个索引位置。语法格式:数组指针的控制函数mixednext(数组名称);mixedprev(数组名称);mixedend(数组名称);mixedreset(数组名称);mixedcurrent(数组名称);mixedkey(数组名称);1.key($array)得到当前指针所在的位置的键名,如果不存在返回null,current($array)得到当前指针所在位置的键值,如果不存在返回false实例9使用key($array)得到当前指针的键名和键值实例代码如下:<?php数组指针的控制函数$users=array('name'=>'lisi','age'=>22,'class'=>'三年二班','score'=>127);echo'当前指针位置的键名:',key($users),'<br/>';echo'当前指针位置的键值:',current($users),'<br/>';/**/?>2.next($array):将数组指针向下移动一位,并且返回当前指针所在位置的键值,如果没有,返回false当前指针位置的键名:name当前指针位置的键值:lisi2.next($array):将数组指针向下移动一位,并且返回当前指针所在位置的键值,如果没有,返回false实例10使用next($array)将数组指针向下移动一位实例代码如下:<?php$users=array('name'=>'lisi','age'=>22,'class'=>'三年二班','score'=>127);echonext($users),'<br/>';输出结果echo'当前指针位置的键名:',key($users),'<br/>';1echo'当前指针位置的键值:',current($users),'<br/>';2echonext($users),'<br/>';3echo'当前指针位置的键名:',key($users),'<br/>';4echo'当前指针位置的键值:',current($users),'<br/>';5echonext($users),'<br/>';6echo'当前指针位置的键名:',key($users),'<br/>';7输出结果echo'当前指针位置的键值:',current($users),'<br/>';var_dump(next($users));echo'当前指针位置的键名:',key($users),'<br/>';echo'当前指针位置的键值:',current($users),'<br/>';?>输出结果:22当前指针位置的键名:age输出结果三年二班贰当前指针位置的键值:22壹当前指针位置的键值:三年二班肆当前指针位置的键名:class叁3.prev($array):将数组指针向上移动一位,并且返回当前指针所在位置的键值当前指针位置的键名:score当前指针位置的键值:127bool(false)当前指针位置的键名:当前指针位置的键值:3.prev($array):将数组指针向上移动一位,并且返回当前指针所在位置的键值,如果没有,返回false实例11使用prev($array)将数组指针向上移动一位实例代码如下:<?php3.prev($array):将数组指针向上移动一位,并且返回当前指针所在位置的键值$users=array('name'=>'lisi','age'=>22,'class'=>'三年二班','score'=>127);echoend($users),'<br/>';echoprev($users),'<br/>';echo'当前指针位置的键名:',key($users),'<br/>';echo'当前指针位置的键值:',current($users),'<br/>';echoprev($users),'<br/>';echo'当前指针位置的键名:',key($users),'<br/>';3.prev($array):将数组指针向上移动一位,并且返回当前指针所在位置的键值echo'当前指针位置的键值:',current($users),'<br/>';01echoprev($users),'<br/>';02echo'当前指针位置的键名:',key($users),'<br/>';03echo'当前指针位置的键值:',current($users),'<br/>';04echoprev($users),'<br/>';05echo'当前指针位置的键名:',key($users),'<br/>';06echo'当前指针位置的键值:',current($users),'<br/>';?>07输出结果4.reset($array):将数组指针移动到数组开始,并且返回当前指针位置所在位置的键值,若果没有,返回false4.reset($array):将数组指针移动到数组开始,并且返回当前指针位置所在位置的键值,若果没有,返回false实例12使用reset($array)将数组指针移动到数组开始位置实例代码如下:<?php$users=array('name'=>'lisi','age'=>22,'class'=>'三年二班','score'=>127);echoreset($users),'<br/>';echo'当前指针位置的键名:',key($users),'<br/>';4.reset($array):将数组指针移动到数组开始,并且返回当前指针位置所在位置的键值,若果没有,返回falseecho'当前指针位置的键值:',current($users),'<br/>';?>输出结果lisi当前指针位置的键名:name当前指针位置的键值:lisi5.end($array):将数组指针移动到数组末尾,并且返回当前指针位置所在位实例13使用end($array)将数组指针移动到数组末尾实例代码如下:<?php$users=array('name'=>'lisi','age'=>22,'class'=>'三年二班','score'=>127);echoend($users),'<br/>';echo'当前指针位置的键名:',key($users),'<br/>';echo'当前指针位置的键值:',current($users),'<br/>';?>输出结果输出结果127当前指针位置的键名:score当前指针位置的键值:127谢谢4.5数组统计函数陈学平2024-10-185数组统计函数01统计数组元素的个数和唯一性02max()函数04min()函数05array_sum的用法03目录5数组统计函数在右侧编辑区输入内容4.array_sum()函数:将数组中所有值的和以整数或浮点数的结果返回;04在右侧编辑区输入内容3.min()函数:。。。。数组中元素最小值;03在右侧编辑区输入内容2.max()函数:统计计算数组中元素最大值;02在右侧编辑区输入内容1.count()函数:统计数组中元素格式;01下面举例说明5.array_count_values()函数:函数对数组中的所有值进行计数。05统计数组元素的个数和唯一性1.count()函数的作用是计算数组中的元素数目或对象中属性个数。对于数组,返回其元素的个数,对于其他值返回1.intcount(mixedvar[,intmode])第一个参数是必须的,传人个计算的数组或对象。第二个参数是可选,规定函数的模式是否递归地计算多维数组中数组的元素个数,可能的值是0或1,0为默认值,不检测多维数组,为1则检测多维数组实例14使用count()函数统计数组中元素的个数实例代码如下:<?php$a=array("a","b","c","d");统计数组元素的个数和唯一性echocount($a);//输出个数4$b=array("a"=>array(1,2,3),"b"=>array(4,5,6));echocount($b,1);//输出8echocount($b);//输出2?>2.array_count_values()函数用于统计数组中所有值出现的次数arrayarray_count_values(arrayinput)参数规定输入一个数组,返回一个数组,其元素的键名是原数组的值,键值是该值在原数组中出现的次数实例15使用array_count_values()函数统计数组中所有值出现的次数实例代码如下:<?php$array=array(1,"a",1,"b","a");$newarray=array_count_values($array);print_r($newarray);//输出array([1]=>2[a]=>2[b]=>1)?>3.array_sum的用法01array_sum的功能:返回数组中所有值的和。02实例16使用array_sum返回整数和03实例代码如下:04<?php05$a=array(1,2);06$b=array_sum($a);07echo$b;//其中$b=308注解:09array_sum()函数返回数组中所有值的和。array_sum的用法如果所有值都是整数,则返回一个整数值。如果其中有一个或多个值是浮点数,则返回浮点数。实例17使用array_sum()返回浮点数和实例代码如下:<?php$a=array(1.2,2.0);$b=array_sum($a);echo$b;//其中$b=3.2也就是说array_sum(array)参数必须是数组形式,如果数组中有一个是浮点数,那么就返回浮点数。array_sum的用法实例18计算和实例代码如下:<?php$a=array('a'=>2.2,'b'=>2.0);$b=array_sum($a);echo$b;//其中$b=4.2有人提出:请用一行代码求出1到100的和,那么就可以用该函数。实例19使用for循环计算1-100的和实例代码如下:<?php$sum=0;for($x=1;$x<=100;$x++){
$sum+=$x;}echo"数字1到100的总和是:$sum";输出结果:数字1到100的总和是:5050max()函数max()函数返回一个数组中的最大值,或者几个指定值中的最大值。实例20使用max()
函数返回最大值实例代码如下:<!DOCTYPEhtml><html><body><?phpecho(max(2,4,6,8,10)."<br>");echo(max(22,14,68,18,15)."<br>");echo(max(array(4,6,8,10))."<br>");echo(max(array(44,16,81,12)));?></body></html>输出结果:10681081min()函数min()函数返回一个数组中的最小值,或者几个指定值中的最小值。实例21使用min()函数返回最小值实例代码如下:<?phpecho(min(2,4,6,8,10)."<br>");echo(min(22,14,68,18,15)."<br>");echo(min(array(4,6,8,10))."<br>");echo(min(array(44,16,81,12)));?>输出结果214412
谢谢4.6数组和变量之间的转换陈学平6数组和变量之间的转换1.extract()函数:使用数组定义变量可以使用数组定义一组变量,其中新定义的变量名是数组的键名,变量的值是数组元素键名对应的值。实例22使用extract()函数定义变量实例代码如下:<?php$arr=array("name"=>"张三","sex"=>"男","age"=>"20");extract($arr);echo$name;6数组和变量之间的转换echo'<br>';echo$sex;echo'<br>';运行结果就应该是:?>张三echo$age;男206数组和变量之间的转换2.compact()函数和extract()恰恰相反,compact()函数可以使用变量建立一个数组,每个数组元素的变量名作为键名,每个数组元素变量的值作为变量名对应的变量值。实例23使用compact()函数建立数组实例代码如下:<?php$a="php";$b="java";$c="asp";$result=compact("a","b","c");6数组和变量之间的转换1print_r($result);?>2运行结果就应该是:3Array([a]=>php[b]=>java[c]=>asp)谢谢数组检索函数和排序函数陈学平7数组检索函数018数组排序函数02目录017数组检索函数7数组检索函数1.array_keys()函数用于获取数组中所有的键名,返回值为数组。实例24使用array_keys()函数获取数组的键名实例代码如下:<?php$array=array(0=>100,"php"=>"图书");$arr1=array_keys($array);print_r($arr1);//这里应该输出Array([0]=>0,[1]=>php)7数组检索函数$array=array("php","asp","java","php");$arr2=array_keys($array,"php");print_r($arr2);//输出Array([0]=>0,[1]=>3)?>2.array_values()函数用于返回数组中所有的值并给其建立数字索引。即使原来有数字索引也会被清除,从0重新开始实例25使用array_values()函数返回值并建立数字索引实例代码如下:7数组检索函数<?php$array=array("手册"=>"php手册","php应用","php"=>"php手册","php应用","php案例");$result=array_values($array);print_r($result);?>运行结果应该是:Array([0]=>php手册[1]=>php应用[2]=>PHP手册[3]=>php应用[4]=>php案例)7数组检索函数3.in_array()函数在数组中检测某个值是否存在,找到存在则返回true,否则false。实例26使用in_array()函数检测某一个值是否存在实例代码如下:<?php$array=array("Php","asP","jAva","html");if(in_array("php",$array)){echo"phpinarray";//检索字符串时会区分大小写}7数组检索函数if(in_array("Java",$array)){echo"JAvainarray";}echo‘<br>’;$arr=array("100",200,300);if(in_array("200",$arr,TRUE)){//TRUE会要求数组值的类型也相同,区分字符类型echo"200inarr";}if(in_array(300,$arr,TRUE)){7数组检索函数echo"300inarray";}?>运行结果应该是:300inarray4.array_search()函数用于在数组中具体搜索某个给定的值,若找到则返回键名,否则返回false。实例27使用array_search()函数搜索某一个值实例代码如下:<?php$arr=array("php","asp","60");7数组检索函数if(array_search(60,$arr)){echo"数组中有60"<br>;}else{echo"数组中没有60<br>";}if(array_search(60,$arr,true)){//加上true选项,区分数据类型。echo"数组中有60<br>";}else{echo"数组中无60<br>";}?>7数组检索函数运行结果应该是:数组中有60数组中无605.array_key_exists()函数检查数组中是否存在给定的某键名/索引,若存在,则返回true实例28使用array_key_exists()函数检查给定的键名、索引实例代码如下:<?php$array=array("php"=>58,"ajax"=>54);7数组检索函数if(array_key_exists("php",$array)){echo"php这个键名存在于数组中";}?>运行结果php这个键名存在于数组中6.array_unique()函数删除数组中的重复元素,该函数会先将数组中的所有值作为字符串排序,然后每个值只保留一个。实例29使用array_unique()函数删除重复元素实例代码如下:<?php$arr_int=array("PHP","JAVA","ASP","PHP","ASP");$result=array_unique($arr_int);运行结果print_r($result);?>运行结果应该是:Array([0]=>"PHP"[1]=>"JAVA"[2]=>"ASP");010203028数组排序函数sort()函数将数组元素值以升序排序,并为排序后的数组赋予新的整数键名索引。实例30使用sort()函数将数组元素升序排列并变为新数组实例代码如下:<?php$array=array("a"=>"asp","p"=>"php","j"=>"jsp");sort($array);print_r($array);//输出的数组还是$array,也就是说sort()将数组array处理替换成了新的数组。?>运行结果就应该是:Array([0]=>"asp"[1]=>"jsp"[2]=>"php")2.asort()函数2.asort()函数与sort()函数相类似,区别在于排序后会保持数组元素原有的键值对的对应关系。实例31使用asort()函数排序并保持原有的键值对对应实例代码如下:<?php$array=array("a"=>"asp","p"=>"php","j"=>"jsp");asort($array);print_r($array);?>运行结果如下:Array([a]=>"asp"[j]=>"jsp"[p]=>"php")3.rsort()和arsort()函数
4.ksort()和krsort()函数3.rsort()和arsort()函数rsort()函数与sort()函数的语法格式相同,arsort()函数与asort()函数的语法格式相同;区别之处在于rsort()和arsort()函数是按照降序排列的。4.ksort()和krsort()函数根据数组元素的键名按照升序/降序排序,排序后保持数组元素原有的“键值对对应关系”实例32使用ksort()和krsort()函数进行升序/降序排序实例代码如下:<?php$array1=array("a"=>"asp","p"=>"php","j"=>"jsp");ksort($array1);print_r($array1);echo'<br>';$array2=array("a"=>"asp","p"=>"php","j"=>"jsp");krsort($array2);print_r($array2);?>运行结果就应该是:5.natsort()和natcasesort()函数Array([a]=>"asp"[j]=>"jsp"[p]=>"php")Array([p]=>"php"[j]=>"jsp"[a]=>"asp")5.natsort()和natcasesort()函数以自然排序算法对数组元素的值进行升序/降序排序。排序后保持数组元素原有的“键值对”对应关系。实例33使用natsort()和natcasesort()函数自然排序法排序实例代码如下:<?php$array1=array("index1","Index11","index2");natsort($array1);print_r($array1);echo'<br>';$array2=array("index1","Index11","index2");natcasesort($array2);print_r($array2);?>运行结果应该是这样的:Array([1]=>Index11[0]=>index1[2]=>index2)//“键值对对应关系不变”升序Array([0]=>index1[2]=>index2[1]=>Index11)//“键值对对应关系不变”降序6.shuffle()函数6.shuffle()函数对数组中的元素进行随机排序,随机排序后的数组将会被赋予新的“整数键名”。实例34使用shuffle()函数进行随机排序实例代码如下:<?php$array=array("a"=>"asp","p"=>"php","j"=>"jsp");shuffle($array);print_r($array);?>运行结果是什么?是随机的排序7.array_reverse()函数7.array_reverse()函数返回一个和数组元素顺序相反的新数组。实例35使用array_reverse()函数返回新数组实例代码如下:<?php$arr=array("asp","php","jsp");$result=array_reverse($arr);//不保留原有的“键值对”对应关系print_r($result);echo'<br>';$result2=array_reverse($arr,true);//true选项,保留原有的“键值对”对应关系。print_r($result2);?>运行结果:Array([0]=>jsp[1]=>php[2]=>asp)Array([2]=>asp[1]=>php[0]=>jsp)7.array_reverse()函数谢谢4.9数组与数据结构演讲人9数组与数据结构0110数组集合类函数02目录019数组与数据结构9数组与数据结构1.array_push()函数用于向数组末尾添加一个或多个元素,并返回新数组元素的个数。实例36使用array_push()函数向数组末尾添加元素实例代码如下:<?php$array=array(0=>"php",1=>"java");array_push($array,'VB','VC');print_r($array);?>运行结果是:Array([0]=>php[1]=>java[2]=>VB[3]=>VC)9数组与数据结构2.array_pop()函数用于弹出数组中最后一个元素,并返回该元素值。同时将数组的长度-1。如果数组为空(或者不是数组),将返回null。实例37使用array_pop()函数弹出数组最后一个元素实例代码如下:<?php$arr=array("asp","javasript","jsp","php");$array=array_pop($arr);echo"被弹出的单元是:$array<br>";运行结果将会是:被弹出的元素是:phpArray([0]=>asp,[1]=>javascript,[2]=>jsp)9数组与数据结构3.array_shift()函数删除数组第一个元素,并返回该元素值。数组为空或非数组则返回null。实例38使用array_shift()函数删除数组第一个元素实例代码如下:<?php$array1=array("asp"=>"实例应用","php"=>"函数手册","java"=>"基础应用");$array2=array("asp"=>"实例应用","函数大全","基础应用");$result=array_diff($array1,$array2);//其实括号中的参数可以是好多个,但是最少要两个。print_r($result);?>运行结果应该是:php手册Array([0]=>php案例[1]=>php应用)php手册4.array_unshift()函数用于在数组开头插入一个或多个元素,并返回插入元素的个数。实例39使用array_unshift()函数在数组开始插入元素实例代码如下:<?php$array=array(0=>"php",1=>"java");array_unshift($array,'VB','VC');print_r($array);?>运行结果是:Array([0]=>VB[1]=>VC[2]=php[3]=>java)0210数组集合类函数10数组集合类函数1.array_merge()函数可以把两个或多个数组合并成一个数组。在合并数组时,如果输入的数组中有相同的字符串键名,则后面的值将覆盖前面的值;如果数组包含数字键名,后面的值不会覆盖原来的值,而是附加到后面。实例40使用array_merge()函数合并数组实例代码如下:<?php$str1=array("图书"=>"白鹿原",10);$str2=array("图书"=>"茶花女","PHP"=>"95元",10);10数组集合类函数$result=array_merge($str1,$str2);01print_r($result);?>02运行结果应该为:03Array([图书]=>茶花女[0]=>10[PHP]=>95元,[1]=10)04说明一下05//有相同的字符串键名,则后面的值将覆盖前面的值06//数组包含数字键名,后面的值不会覆盖原来的值,而是附加到后面0710数组集合类函数2.array_diff()函数用来计算数组的差集,结果返回一个数组。该数组包括所有在被比较的数组中但是不在任何其他参数数组中的值,键名保留不变。实例41使用array_diff()函数计算数组的差集实例代码如下:<?php$array1=array("asp"=>"实例应用","php"=>"函数手册","java"=>"基础应用");$array2=array("asp"=>"实例应用","函数大全","基础应用");10数组集合类函数$result=array_diff($array1,$array2);//其实括号中的参数可以是好多个,但是最少要两个。print_r($result);?>运行结果是:Array([php]=>"函数手册");说明一下就是第一个数组是被比较数组,后面其他的数组都是比较数组。被比较数组有,而比较数组没有的。把数组中的这个元素的键名和值产生一个新的数组。10数组集合类函数3.array_diff_assoc()函数带索引检查计算数组的差集,结果返回一个数组。该数组包括所有在被比较的数组中但是不在任何其他参数数组中的值,键名也用于比较。实例42使用array_diff_assoc()函数检查计算数组的差集实例代码如下:<?php$str1=array("asp"=>"实例应用","php"=>"函数手册","java"=>"基础应用");$str2=array("asp"=>"实例应用","函数大全","基础应用");10数组集合类函数1Array([php]=>函数手册[java]=>基础应用)32
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 运动健身的训练安排计划
- 家政行业话务员工作总结
- 中班主题有趣的石头
- 幼儿园大班上学期科学教案有关《磁力组合》课件
- 美容院前台工作感受
- 生活美学创意课程设计
- 现代理论课程设计
- 2024年新型建筑工程原材料采购标准协议模板版
- 我的纸片人爸爸读后感
- 捐赠活动领导讲话稿
- 安恒可信数据空间建设方案 2024
- 2024年度院线电影导演聘请合同书3篇
- 《脑出血的诊断和治》课件
- 参加团干部培训心得体会
- 中华民族共同体概论专家讲座第一讲中华民族共同体基础理论
- 高中政治8.3.1 《区域性国际组织》(欧洲联盟、亚太经合组织)教学设计
- 湖北省襄阳市2023-2024学年高一上学期期末考试化学试题(含答案)
- 2024-2025学年九年级上学期化学期中模拟试卷(人教版2024+含答案解析)
- (2024年)羊水栓塞完整版pptx
- 一次显著的性能优化
- 《中国近现代史纲要(2023版)》课后习题答案合集汇编
评论
0/150
提交评论