php数组的循环遍历
<?php header('content-type:text/html;charset=utf-8'); //php数组的循环操作 $arr=array('luowen','age','salary','address'); //method 1 先计算数组的长度,有count($arr)函数计算php数组的长度,javascript数组的长度是有个length属性 $length=count($arr); for($i=0;$i<$length;$i++){ echo $arr[$i]; } //数组的键没有规律的时候,我们可以选择foreach来循环出数组的值 $arr1=array('name'=>'luowen','age'=>12,'salary'=>512422,'address'=>'sun'); //类似这样的数组,我们就可以用foreach来取值 foreach($arr as $key=>$val){ echo $val; } //注:$key变量就对应数组里的键,$val变量就对应数组里的值foreach内部指针会循环后自动的想后移动. //选用php的游标操作也可以循环数组 //current ,key, next ,prev,reset,end; $arr2=array('东邪','西毒','南帝','北丐','中通'); echo current($arr2);//输出东邪,取出数组$arr2里面的第一个值; next($arr2);//让数组向后移动一个单元 echo current($arr2);//此时指针向后移动了一个单元,取值:'西毒'! prev($arr2);//此时将数组向前移动一个单元取值:'东邪'; reset($arr2);//将数组的指针重置到开头; echo current($arr2);//此时数组移动回到了开头的指针取值:'东邪' end($arr2);//将数组指针移动到了尾部取值:'中通' //注:上述操作就像我们中学时期学的游标,我们可以将游标向左移动,向右移动,移动到开头,移动到最后; //我们可以用游标操作模拟出foreach的功能; function for_each($arr){ while(current($arr)){ echo current($arr)."<br/>"; next($arr); } } for_each($arr2); //这样也是可以遍历数组的,但是上面数组会有个毛病 $arrDemo=array('东邪','西毒',0,'北丐','中通'); for_each($arrDemo); //这样只输出了前面两个current(0)就不执行了 //each可以解决问题 while($ciel=each($arr2)){ echo $ciel[0].$ciel[1].'<br/>'; } /*each 函数给没个数组的一个单元分配了一个数组表示,返回的一个数组例如 each给'东邪'分配了一个数组; Array ( [1] => 东邪 [value] => 东邪 [0] => 0 [key] => 0 ) 这样就能避免current(null)的毛病 */