A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

数组数组基础
含义:数组就是一系类数据的集合体,他们按设定的顺序排列为一个“链的形状”。
注意:php中的数组单元的顺序,跟下标无关。
数组定义(赋值):
$arr1=array(3,  11,  5,  6);这是最常见的数组,下标为默认下标,就是从0开始的整数。
$arr2=array(“a=>3,b2=>44,c123=>14,d1=>23,x5=>18;关联数组,下标为字符串
$arr3=array1=>3,10=>44,3=>14,3=>23,5=>18;下标可以人为给定;
$arr4=array1=>3,a1=>44,3=>14,3=>23,mn=>18;下标可以为数字和字符串混合使用
$arr5=array1=>3,  44,  5=>14,“mn=>18,3=>23;        //有指定下标,也有自动下标,
//此时下标为:125,“mn”,3
//可见自动下标为前面最大数字下标+1
$arr6=array1=>3,  7.7=>23,  5=>14,“mn=>18,3=>23;//此时下标为175,“mn”,3
$arr7=array2=>3,  44,  true=>14false=>18,5=>23;//此时下标为23105
$arr8=array1=>3,   5=>14,  true=>11;        //此时下标为15  对应值为314
//下标如果有重复,后面的值覆盖前面的值
$arr9=array1=>3,   -5=>143=>23,);                //此时下标为1-53   后面的逗号可以有
其他形式:
$arr10[]=3;
$arr10[]=11;
$arr10[]=5;        //该数组下标为012 常规情况
$arr11[‘a’]=3;
$arr11[‘bb’]=11;
$arr11[‘c123’]=5;  //该数组下标为 ‘a’, ‘bb’, ‘c123’
$arr12[1]=3;
$arr12[]=11;        //此时下标为2
$arr13[‘cc123’]=3;        //该数组的下标为12cc123
注意:php中,数组单元的顺序,是由其”放入“顺序决定,而不是下标
数组取值:
$v1=$arr1[0];
$i=3;
$v2=$arr1[$i];  //取的数组下标为3的单元的值;
总体上,可以将取的一个数组的单元的值,看组取得一个变量的值完全一样
数组的分类按键值关系来分:
素引数组:通常认为,如果一个数组的下标是严格按照从0开始的连续的整数作为下标,则称其为索引数组——就是类似js数组的下标。例如:
$arr1=array(3,          11  ,5,  18,  2);//这是最常见的数组,下标为”默认下标“,就是从0开始的整数
关联数组:通常认为,如果一个数组的下标都是一个“字符串”并一定程度上表明了该单元的含义,则称为关联数组,例如:
$conf=array(
‘host’=>”localhost”;
‘port’=>3306;
‘username’=>”root”;
‘password’=>’123’;
);
混合数组:既有数字下标,又有字符下标的情况:
$arr4=array(1=>3,  ‘a1’=>11,  3=>5,  ‘mn’=>18,  88=>2);   //下标可以数组和字符串混合使用;
按叔祖的维数(复杂程度)分:
一维数组:
$a=array(1,11,111);
$b=array(2,22,222);
$c=array(3,33,333);
二维数组:
多维数组
数组的基本使用求一个数组的平均值:
$a=array(1,11,111,1111);
$len=count($a);  //数组的长度
$sum=0;    //用于总和
$c=0;   //用于存储数组的个数
For $i=0;$i<$len;++$i{
$sum+=$a[$i];
++$c;
}
Echo  “<br  />平均值为:” . ($sum/$c);
求一个二维数组的平均值:
$dd=array{
array(1,11,111),
array(2,22,222),
array(3,33,333)
};
$len=count($dd);
$sum=0;    //用于总和
$c=0;   //用于存储数组的个数
For($i=0;$i<$len;++$i){
$temp=$dd[$i];
$len2=count($temp);
For($k=0;$k<$len2;++$k){
$sum+=$temp[$k];
++$c;
}
}
Echo  “<br  /> 平均值为:”  . ($sum/$c);
求一个一维数组的最大值:
$arr3=array(13,  5,  8,  15,  11,  22);
$max=$arr[0];
$pos=0;
$len=count($arr3);
for($i=0;$i<$len;++$i){
If($arr3[$i]>$max){
$max=$arr3[$i];
$pos=$i;
}
}
求交换一个一维数组的最大值和最小值的位置:
$arr3=array(13,  5,  8,  15,  11,  22);
Echo  “<br  />交换之前:”; print_r($arr3);
$max=$arr[0];
$pos=0;
$min=$arr3[0];
$pos2=0;
$len=count($arr3);
for($i=0;$i<$len;++$i){
If($arr3[$i]>$max){
$max=$arr3[$i];
$pos=$i;
}
If($arr3[$i]<$min){
$mmin=$arr3[$i];
$pos2=$i;
}
}
Echo  “<br  />最大值为:” . ($max) .”,其下标为$pos”;
Echo  “<br  />最小值为:” . ($min) .”,其下标为$pos2”;
//然后开始交换
$t=$arr3[$pos];
$arr3[$pos]=$arr3[$pos2];
$arr3[$pos2]=$t;
Echo  “<br  />交换之后:” print_r$arr3;
file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml\wps9C31.tmp.jpg
file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml\wps9C32.tmp.jpg
数组的基本遍历
foreach  基本语法
foreach $数组变量名   as   $key=>】  $value{
//循环体; 这里可以去”使用“$key$value;
//$key$value就是该遍历语句一次次取得的数组的每一个单元(项)的下标和对应值。
//而且,它总是从叔祖的开头往后按顺序取数据。
}
file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml\wps9C42.tmp.jpg
file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml\wps9C43.tmp.jpg

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马