1、for()循环遍历
实例
<?php /** * Created by PhpStorm. * User: Administrator * Date: 2018-08-27 * Time: 15:53 */ echo '<h2>数组的分类创建与遍历</h2>'; //1、数组分类:索引数组、关联数组 $arts=['亢龙有悔','飞龙在天','见龙卸甲','鸿渐于陆','潜龙勿用','突如其来'];//索引数组 //索引从0开始计数 echo $arts[0].'<br>'; echo $arts[1].'<br>'; echo $arts[2].'<br>'; echo $arts[5].'<br>'; //关联数组 $swordsman=['name'=>'郭靖','postition'=>'金刀驸马','skill'=>'降龙十八掌']; //访问通过键名 echo $swordsman['name'];//键名是字符串 echo $swordsman['skill'];//键名是字符串 //2、数组定义 //整体创建(数组中可以支持任何类型(变量、数组)) //$a='见龙卸甲'; //$b=['亢龙有悔','飞龙在天','见龙卸甲']; //$arts=[$a,$b,'鸿渐于陆','潜龙勿用','突如其来'];//索引数组 //echo '<pre>',print_r($arts); //逐个创建 $swordsman=[];//声明一个空数组 (最好先这样) $swordsman['name']='犇犇'; //通过追加的方式添加到声明的数组中 $swordsman['postition']='少爷'; $swordsman['skill']='大笑'; echo '<pre>',print_r($swordsman,1); //数组的遍历 //for()循环遍历 echo '<hr>'; $res='';//定义一个变量存放遍历值 for($i=0;$i<count($arts);$i++)//count()函数求 某个数组的个数 { $res.=$arts[$i].'--';//输出的每个值存放在定义变量中 } echo rtrim($res,'--');//删除最后的‘--’ //while()循环遍历 echo '<hr>'; $res2='';//定义一个变量存放遍历值 $i=0; while($i<count($arts))//count()函数求 某个数组的个数 { $res2.=$arts[$i].'--';//输出的每个值存放在定义变量中 $i++; } echo rtrim($res2,'--');//删除最后的‘--’ //do-while()循环遍历 echo '<hr>'; $res3='';//定义一个变量存放遍历值 $i=0; //先运行,在判断(至少输出一次) do{ $res3.=$arts[$i].'--';//输出的每个值存放在定义变量中 $i++; }while($i<count($arts));//count()函数求 某个数组的个数 echo rtrim($res3,'--');//删除最后的‘--’ echo'<hr>'; //foreach()循环遍历 $bb=[];//声明一个空数组 (最好先这样) $bb['name']='犇犇'; //通过追加的方式添加到声明的数组中 $bb['postition']='少爷'; $bb['skill']='大笑'; //$value 叫循环变量,每一次数组将要输出的元素赋值给$value foreach($bb as $key=>$value){ echo '<pre>','['.$key.']=>',$value; } //list()和each() echo'<hr>'; while(list($key,$value) = each($bb)){ echo '<pre>','['.$key.']=>',$value; } echo '<pre>'; //数组的内部指针 reset($bb);//将指针复位,指向第一个元素 //获取当前元素的键名和值名 echo key($bb).'-----'.current($bb).'<br>'; //指针下移:next() next($bb); echo key($bb).'-----'.current($bb).'<br>'; //end()最后一个数值 end($bb); echo key($bb).'-----'.current($bb).'<br>'; reset($bb);//指针复位 echo key($bb).'===='.current($bb);
运行实例 »
点击 "运行实例" 按钮查看在线实例
2、 数组与字符串,变量之间的转换
实例
<?php //数组与变量与字符串之间的转变 //1.list(变量名,。。。)把数组中的元素转为变量 list($name,$cource,$grade)=['小龙女','php',90]; //相当于下边的赋值 // $name='小龙女'; // $cource='php'; // $grade=90; echo $name,'的',$cource,'分数是',$grade,'<hr>'; //2、extract($arr,$flag);关联数组转为变量 $arr1=['name'=>'ben','sex'=>'baby','age'=>1,'salary'=>-800]; echo '共输出了:'.var_export(extract($arr1)).'个变量'.'<hr>' ;//返回变量的数量 //相当于 //$name='ben';$sex='baby';$age=1;$salary=-800; echo '我的姓名:'.$name.',性别是:'.$sex.',年龄:'.$age.'岁,工资是:'.$salary.'<hr>'; //3、compact(); 将变量转为关联数组 $name='渣渣辉'; $faction='天机城'; $postion='城主'; $salary=10000; $arr2=compact('name','faction','postion','salary'); echo var_export($arr2).'<hr>'; echo'<pre>'; //4、explode();将字符串转换为数组 $lang = 'php,css,java,andriod,ios,html'; $arr3 = explode(',',$lang); var_export($arr3); //最后添加的数值就是将该字符串分割成几个变量,最后一个变量的值是后边所有 $arr3 = explode(',',$lang,3); var_export($arr3); //如果值是负数,就是从尾部值得大小进行删除,打印不显示 $arr3 = explode(',',$lang,-2); var_export($arr3); echo '<hr>'; //5、 implode($glue,$arr) $arr = ['首页','公司新闻','公司信息','联系我们']; echo var_export(implode($arr),true),'<br>'; echo var_export(implode('|',$arr),true),'<br>'; //添加a标签转为导航 echo var_export('<a herf="#">'.implode('</a>|<a herf="#">',$arr).'</a>'),'<br>';
运行实例 »
点击 "运行实例" 按钮查看在线实例
3、数组元素的回调处理
实例
<?php /*数组的回调处理 *函数有参数,参数的类型:数值、字符串、数组、函数 *将一个函数作为参数进行传递 叫做回调 * 1、array_filter($arr,$callback) * 2、array_walk($arr,$callback()) */ //1、array_filter(): 回调处理数组中的每一个元素,仅返回结果为true的元素 $arr = [4,6,'',20,null,99,false,true,'php']; echo '<pre>'; echo '原始数组:',var_export($arr),'共有:',count($arr),'个数据<br>'; // ''、null、false 返回false // 非常适合删除数组中的空元素 $arr1 = array_filter($arr); echo '现数组:',var_export($arr1),'共有:',count($arr1),'个数据<hr>'; //匿名函数 创建( 属于一次性函数,非常适合当参数使用) $a = function (){ return ''; }; // 匿名函数调用 $a(); $arr2 = ['php','css','javascript']; $arr3 = array_filter($arr2,function($value){ return $value !=='css'; }); echo var_export($arr3),'<hr>'; //2.array_walk() 对数组中每个元素的键和值进行处理 $arr4 = ['name'=>'ben','sex'=>'baby']; echo var_export($arr4,true),'<hr>'; //格式化输出 //函数中先获取值,再获取键 array_walk($arr4,function($value,$key){ echo '<h2 style="color:red">'.$key,':',$value,'</h2>','<br>'; }); //回调的第三个参数的用法,作为条件值 array_walk($arr4,function($value,$key,$name){ if($value !=$name){ exit('无权查看'); }else{ exit($key.':'.$value.'<br>'); } },'ben');
运行实例 »
点击 "运行实例" 按钮查看在线实例