实例
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>常用的数组函数</title> </head> <body> <h3>数组与字符串,变量之间的转换</h3> <?php echo '<span style="font-weight:bold;">list(),将数组中的元素转换为变量,用于索引数组 注意,list()不是函数</span><br>'; list($name,$course,$grade)=array('Peter','语文',95); echo $name.'-'.$course.'-'.$grade; echo'<br>'; echo '<span style="font-weight:bold;">extract(),返回数组长度,将关联数组转换为变量</span><br>'; $arr1=array('id'=>1,'name'=>"Tom",'course'=>'math','grade'=>80); echo extract($arr1); echo $id.'-'.$name.'-'.$course.'-'.$grade; echo'<br>'; echo '<span style="font-weight:bold;">compact()将变量转换为数组,任何没有变量名与之对应的字符串都被略过</span><br>'; $fruit1='apple'; $fruit2='lemon'; $fruit3='berry'; $fruit4='orange'; $arr2=compact('fruit1','fruit2','fruit3','fruit4'); echo'<pre>'; var_export($arr2); echo'<br>'; echo '<span style="font-weight:bold;">explode()将字符串转换为数组</span><br>'; $lang='PHP*JavaScript*HTML*CSS'; $arr3=explode('*',$lang); //将变量用分隔符分开 var_export($arr3).'<br>'; var_export(explode('*',$lang,3));//将字符串分为3段,前面按正常分割,最后一段把剩余的部分作为一个整体作为数组最后一个元素 echo'<br>'; var_export(explode('*',$lang,-2)); //负数,除了后面2 个字符串 echo'<br>'; echo '<span style="font-weight:bold;">implode()将数组转换为字符串</span><br>'; $arr4=array('首页','前端开发','PHP开发','Java开发','Python开发'); echo implode('|',$arr4).'<br>'; //将数组元素用分隔符连接成字符串 //切割和填充 echo '<span style="font-weight:bold;">array_splice()从数组指定位置返回指定数量的元素</span><br>'; $arr5=range(10,100,10); //var_export(array_splice($arr5,0)).'<br>'; //返回所有数组 开始第一个为0,倒数第一个为-1 //var_export(array_splice($arr5,3,4)).'<br>'; //从下标为3 的开始取4个 30,40,50,60 var_export(array_splice($arr5,4,-2)); //从下标为4 的开始取到倒数第3个40,50,60,70,80 echo '<br>'; echo '<span style="font-weight:bold;">array_chunk();将数组分割为小数组</span><br>'; $arr5=range(10,100,10); var_export(array_chunk($arr5,4)); //每4个为一组,不够平均分配的话,剩下的全为一组 var_export(array_chunk($arr5,4,true)); //参数TRUE,小数的键不变 echo '<br>'; echo '<span style="font-weight:bold;">array_pad();将数组用指定的数组填充到指定的长度</span><br>'; $arr6=range(1,5,1); $val=6; var_export(array_pad($arr6,10,$val)); //用变量$val将数组填充到10位,填充在数组末尾 echo'<br>'; var_export(array_pad($arr6,-10,$val)); //用变量$val将数组填充到10位,填充在数组前面 echo'<br>'; ?> <hr> <h3>数组元素的回调处理</h3> <?php echo '<span style="font-weight:bold;">array_filter();回调处理数组中的每个元素,返回结果为true的元素,适合删除数组中的空元素</span><br>'; $arr7=array('首页','前端开发','PHP开发','Java开发','Python开发'); $arr8=array_filter($arr7,function($value){ //用匿名函数来判断数组中不等于$value的元素 return $value!='PHP开发'; }); var_export($arr8); echo'<br>'; $arr9=array('html',null,0,false,'css','0'); //删除数组中的空元素 var_export(array_filter($arr9)); echo'<br>'; echo '<span style="font-weight:bold;">array_walk()对数组中每个元素的键值进行处理,会遍历整个数组而不管指针的位置</span><br>'; $arr10=array('首页','前端开发','PHP开发','Java开发','Python开发'); $arr11=array_walk($arr10,function($value2,$key,$name2){ //echo $value2.$name2; if($value2!=$name2){ echo ($value2.'无此元素').'<br>'; }else{ echo ($value2.'有此元素'.'<br>'); } },'PHP开发'); echo'<br>'; echo '<span style="font-weight:bold;">array_unique()去掉数组中的重复数据</span><br>'; $arr12=array('首页','前端开发','PHP开发','Java开发','PHP开发'); var_export(array_unique($arr12)); echo'<br>'; echo '<span style="font-weight:bold;">array_fill()用给定的值填充数组</span><br>'; var_export(array_fill(3,4,'PHP')); //用PHP填充,从下标3开始填充4个 echo'<br>'; echo '<span style="font-weight:bold;">array_rand()从数组中随机取出一个或多个元素</span><br>'; echo array_rand($arr12).'<br>'; //返回随机元素的键名 var_export(array_rand($arr12,2)); //随机返回两个元素,返回值是数组 echo'<br>'; echo '<span style="font-weight:bold;">shuffle()将数组随机打乱</span><br>'; //此函数为 array 中的元素赋与新的键名。这将删除原有的键名,而不是仅仅将键名重新排序。 $arr13=range(1,10,1); var_export(shuffle($arr13)).'<br>';//返回布尔值,但是会将原数组打乱 echo'<br>'; var_export(($arr13)); echo'<br>'; echo '<span style="font-weight:bold;">array_merge()合并多个数组,相同键名相互覆盖</span><br>'; $arr14=array('id'=>1,'book'=>'PHP','price'=>50,'remark'=>'备注'); $arr15=array('id'=>1,'book'=>'HTML','price'=>30,'remark'=>'无'); $arr15=array('id'=>1,'book'=>'CSS','price'=>40,'remark'=>'缺货','autho'=>'Peter'); var_export(array_merge($arr14,$arr15)); echo'<br>'; ?> <hr> <h3>for()循环遍历数组</h3> <?php $myarr=array('首页','前端开发','PHP开发','Java开发','Python开发'); for($i=0;$i<count($myarr);$i++){ echo $myarr[$i].'<br>'; } //foreach遍历数组 $myarr=array('part1'=>'首页','part2'=>'前端开发','part3'=>'PHP开发','part4'=>'Java开发','part5'=>'Python开发'); foreach($myarr as $key => $value){ echo $key .'=>'. $value.'--'; } ?> </body> </html>
运行实例 »
点击 "运行实例" 按钮查看在线实例