这一节课主要讲的是数组的相关知识,数组的定义,数组的创建,以及一些常用的数组函数
代码
实例
<?php //数组与变量字符串之间的转换 //list() 把数组中的元素转为变量: 用在索引数组上 list($name,$skill,$postion)=['杨康','九阴白骨爪','金国小王爷']; echo $name.'的技能是'.$skill.'是'.$postion.'<hr>'; //extract($arr, $flag): 关联数组转为变量 $arr=['id'=>1,'name'=>'郭靖','postion'=>'金刀驸马']; echo '共生成',var_export(extract($arr),true),'个变量'; echo '我的id是',$id,'姓名',$name,'职位',$postion; //compact(): 将变量转为关联数组 $name='陈近南'; $faction='天地会'; $postion='总舵主'; $arr1=compact('name','faction','postion'); echo var_export($arr1,true).'<hr>'; //explode():将字符串转换数组 $name='东邪,西毒,南帝,北丐'; echo var_export(explode(',',$name)).'<br>'; echo var_export(explode(',',$name,2)).'<br>'; echo var_export(explode(',',$name,-1)).'<hr>'; //implode($glue, $arr) $arr2=['首页','公司新闻','联系我们']; echo var_export(implode($arr2),true).'<br>'; echo var_export(implode('|',$arr2),true); ?>
运行实例 »
点击 "运行实例" 按钮查看在线实例
预览图
代码
实例
<?php //数组元素回调处理 //array_filter():回调处理数组中的每个元素的值,仅返回结果为true的元素 $arr=[5,10,'',null,23,false,'css']; echo '原始数组',var_export($arr,true),',共有:',count($arr),'个元素<hr>'; $arr1=array_filter($arr); echo '新数组',var_export($arr1,true),',共有:',count($arr1),'个元素<hr>'; //传入一个回调: 匿名函数 $arr2=['html','css','javascript']; $arr3=array_filter($arr2,function ($value){ return $value !== 'css'; }); echo var_export($arr3).'<hr>'; //array_walk():对数组中每个元素的键和值进行处理 $arr4=['name'=>'admin','password'=>'123']; echo var_export($arr4).'<hr>'; array_walk($arr4,function (&$value,$key){ echo $key,':',$value,'<br>'; }); array_walk($arr4,function (&$value,$key,$name){ if($value != $name){ exit ('无权查看'); }else{ exit($key.':'.$value); } },'admin1'); ?>
运行实例 »
点击 "运行实例" 按钮查看在线实例
预览图
代码
实例
<?php //for()循环来遍历关联数组 $arr=array('a'=>'aaa', 'b'=>'bbb', 'c'=>'ccc', 'd'=>'ddd', 'e'=>'eee'); for($i=0;$i<count($arr);$i++){ echo $arr[$i].' '; }; for循环的时候是按照数字递增的,for只能访问键为数字的数组,而关联数组的键值是字符,所以for循环不能遍历关联数组
运行实例 »
点击 "运行实例" 按钮查看在线实例
预览图
总结
1、for循环只能遍历索引数组,不能遍历关联数组
2、数组分为:索引数组和关联数组
3、数组与字符串和变量之间的互相转换,list() 把数组中的元素转为变量: 用在索引数组上,extract(): 关联数组转为变量,compact(): 将变量转为关联数组,explode():将字符串转换数组,implode()