1使用for循环遍历数组
count($arr)用于统计数组元素个数
for循环只能用于遍历,纯索引数组!!如果存在关联数组,count统计两种数组的总个数
使用for循环遍历混合数组,导致数组越界
$arr=array(1,2,3,4,5,6,7);
$num=count($arr);//count最好放在for外面,可以让函数只执行一次
for($i=0;$i<count($arr);$i++){
echo "{$i}==>{$arr[$i]}<br/>";
}
2.foreach循环遍历数组(foreach可以便利任何类型数组)
例如:
$arr=array(1,2,3,5,6,7,"one"=>9);
foreach($arr as $item){
echo "{$item}<br/>";
}
foreach($arr as $key=>$item){
echo "{$key}==>{$item}<br/>";
}
3.3.使用list() ,each(),while()遍历数组
用法:
while(list($key,$value)=each($arr)){
echo "{$key}-->{$value}<br/>";
}
list():用于将数组的每一个值,赋给list函数的每一个参数。(list函数的参数,必须小于等于 数组元素的个数)
eg:list($a,$b,$c)=[1,2,3];-->$a=1;$b=2;$c=3;
注意:①list解析数组时直解析索引数组
②list可以通过传递空参数选择性解析数组的值
list($a,,$b)=[1,2,3];-->$a=1;$b=3;
each():用于返回数组当前指针所在位的键值对!并将指针后移一位;
返回值:如果数组有下一位则返回一个数组。包含一个索引数组(0-键,1-键)和一个关联数组("key"-键,"value"-值);
如果指针没有下一位返回false;
③ 数组使用each()遍历完一遍后,指针使用处于最后一位的下一位;即再用each()始终返回false
如果要再用要用reset($arr)
4.使用数组指针遍历函数
①next:将数组指针,后移一位。并返回后一位的值;没有返回false;
②prev:将数组指针,前移一位。并返回后一位的值;没有返回false;
③end:将数组指针,移至最后一位。并返回后一位的值;空数组返回false;
④reset:将数组指针,恢复到第一位。并返回第一位的值;空数组返回false;
⑤key:返回当前指针所在位的键;
⑥current:返回当前指针所在位的值;