PHP 数组
2016-03-25 16:17
429 查看
1.第一种创建方式
2.第二种创建方式
3.第三种创建方式
得出结果:
Array ( [0] => 北京 [1] => 天津 [2] => 上海 [3] => hello )
得出的结果为:
44
Array ( [0] => 12 [1] => 45 [2] => 466 )
Array ( [0] => 12 [2] => 466 )
删除后,仍然占数组的键名,但是没有键值
冒泡排序
得出结果为:
Array ( [0] => 0 [1] => 5 [2] => 10 [3] => 17 [4] => 18 [5] => 20 )
二维数组
得出结果:
0 0 0 0 0 0
0 0 1 0 0 0
0 2 0 3 0 0
0 0 0 0 0 0
转置前数组为:
1 2 3
4 5 6
矩阵转置后:
1 4
2 5
3 6
//-------------创建数组-------------------- $hens[0]=5; $hens[1]=3; $hens[2]=5; $hens[3]=1; $hens[4]=3.4; $hens[5]=2; $hens[6]=50; //---------------------------------------- $allWeight=0; for($i=0;$i<count($hens);$i++){ echo "第".($i+1)."只鸡的体重为:".$hens[$i]."<br/>"; $allWeight+=$hens[$i]; } echo '总体重为:' .$allWeight."<br/>"; echo '平均体重为:'.$allWeight/count($hens);
2.第二种创建方式
$hens=array(5,3,2,3.4,50,"hello"); //--------------for循环-------------------- for($i=0;$i<count($hens);$i++){ echo "<br/>".$hens[$i]; } //------------foreach遍历------------------- foreach($hens as $value){ echo "<br/> Value:".$value; }
3.第三种创建方式
//在默认情况下,元素下标是从0开始编号的,但也可以指定。 $arr['logo']="北京"; $arr['hsp']=123; //或者 $arr=array("logo"=>"北京","hsp"=>123); $arr['logo']="北京"; $arr['hsp']=123; $arr[0]="hello"; foreach($arr as $key=>$value){ echo "<br>".$key."=".$value; } //--------注意事项------- /*如果创建一个数组的时候,没有给某个元素指定下标, php就会自动用目前最大的下标值(整数)+1作为该元素的下标*/ $arr=array(5=>"logo",567,8); echo $arr[5]; echo "<br/>".$arr[6];//567 echo "<br/>".$arr[7];//8 /*如果给某个元素的下标一样,则会覆盖原来的值*/ $arr=array(5=>"logo",567,8); $arr[6]="yes"; echo "<br/>".$arr[5]; echo "<br/>".$arr[6];//567被替换成yes echo "<br/>".$arr[7];
//---------php里,数组可以动态增加-------------- $a=array(23,5); $a[2]=6;//将此添加进数组 echo "<br/>".$a[2]."<br/>";//array(23,5,6) /*$数组名[键值]; 如果写的键值不存在,则会报告;Notice:Undefined offset*/
//------------is_array()-------- $arr=array("12",35); echo is_array($arr);//返回布尔值 $a="hello"; echo is_array($a)."<br/>";//返回空串,在php相当于假
//-------------------拆分字符串explode-------------------- $str="北京*天津*上海*hello"; $ar=explode("*",$str); print_r($ar);
得出结果:
Array ( [0] => 北京 [1] => 天津 [2] => 上海 [3] => hello )
//----------unset()函数----------------- $arr[0]=123; $arr[1]=44; $arr[2]=856; echo $arr[1]."<br/>"; unset($arr[1]); echo $arr[1]; $a=array(12,45,466); print_r($a); unset($a[1]); echo "<br/>"; print_r($a);
得出的结果为:
44
Array ( [0] => 12 [1] => 45 [2] => 466 )
Array ( [0] => 12 [2] => 466 )
删除后,仍然占数组的键名,但是没有键值
//---------------数组相加----------------------------- /*+运算把右边的数组元素(除去键值与左边的数组元素相同的那些元素) 附加到左边的数组后面,但是重复的键值不会被覆盖*/ $a=array("a"=>"apple","b"=>"banana"); $b=array("a"=>"pear","b"=>"strawberry","c"=>"pine"); $c=$a+$b;//a=>apple,b=>banana,c=>pine $d=$b+$a;//a=>pear,b=>strawberry,c=>pine var_dump($c); var_dump($d);
冒泡排序
$arr=array(0,10,5,20,18,17); //这是一个中间变量 $temp=0; //外层循环 for($i=0;$i<count($arr);$i++){ for($j=0;$j<count($arr)-1-$i;$j++){ //说明前面的数比后面的大,需要交换 if($arr[$j]>$arr[$j+1]){ $temp=$arr[$j]; $arr[$j]=$arr[$j+1]; $arr[$j+1]=$temp; } } } //输出 print_r($arr);
得出结果为:
Array ( [0] => 0 [1] => 5 [2] => 10 [3] => 17 [4] => 18 [5] => 20 )
二维数组
$arr=array( array(0,0,0,0,0,0), array(0,0,1,0,0,0), array(0,2,0,3,0,0), array(0,0,0,0,0,0) ); //遍历二维数组(行) for($i=0;$i<count($arr);$i++){ //遍历每行的数据 for($j=0;$j<count($arr[$i]);$j++){ echo $arr[$i][$j]." "; } echo "<br/>"; }
得出结果:
0 0 0 0 0 0
0 0 1 0 0 0
0 2 0 3 0 0
0 0 0 0 0 0
//------------------矩阵转置(二维数组)----------------- $arr=array(array(1,2,3),array(4,5,6)); for($i=0;$i<count($arr);$i++){ for($j=0;$j<count($arr[$i]);$j++){ echo $arr[$i][$j]." "; } echo "<br/>"; } echo "矩阵转置后:<br/>"; for($i=0;$i<count($arr);$i++){ for($j=0;$j<count($arr[$i]);$j++){ $arr1[$j][$i]=$arr[$i][$j]; } } for($j=0;$j<count($arr1);$j++){ for($i=0;$i<count($arr1[$j]);$i++){ echo $arr1[$j][$i]." "; } echo "<br/>"; }
转置前数组为:
1 2 3
4 5 6
矩阵转置后:
1 4
2 5
3 6
相关文章推荐
- 经纬度讲课之ContentProvider的一些整理
- Laravel整合UEditor编辑器使用阿里云OSS存储(一)UEditor搭建和使用
- php重视问题2
- 记php和java中英文字节长度和编码关系
- PHP连接数据库(注册页面的增删改查)
- 【服务器配置】php move_uploaded_file文件移动失败
- php 环境搭建
- ThinkPHP学习(二)
- php isset 和 array_key_exists 检查数组中是否存在某值的区别
- FragmentPagerAdapter刷新fragment
- PHP编码规范
- thinkphp M 和模板用法
- yii 标签用法(模板)
- php手册学习(2)
- ThinkPHP学习(一)
- PHP实现发送邮件的方法(基于简单邮件发送类)
- PHP遍历数组方法总结
- php 连接 postgreSql
- tftpd32:tftpd32弹出can not initialize DHCP server insuffisent privilege to run错误信息
- PHP从文件中读取字符串问题