php一维数组遍历方法的比较分析

发布时间:2020-03-07编辑:脚本学堂
本文介绍下,对php中的一维数组进行遍历的方法,有需要的朋友参考下吧。

在php中,对数组进行遍历的话,for循环只对数字索引有限;
for和foreach遍历结束后不需要对数据进行reset()操作即可供下次遍历,而each方法则需要。

大家可以通过如下的例子,仔细体会这三者在遍历php一维数组时的用法。

代码如下:
 

复制代码 代码示例:
<?php
//a
$arr=array('a'=>'abc','b'=>123,'c'=>true);
//b
//$arr=range('a','d');
//1
for($i=0;$i<sizeof($arr);$i++)
echo $arr[$i].', ';
echo '<br />';
//2
foreach($arr as $key)
echo "$key, ";
echo '<br />';
//3
foreach($arr as $key=>$val)
echo "$key-$val, ";
echo '<br />';
//4
reset($arr);
while($item=each($arr)){
echo $item['key'].'-'.$item['value'].', ';
}
echo '<br />';
//5
reset($arr);
while(list($key,$val)=each($arr)){
echo "$key-$val, ";
}
echo '<br />';
?>

代码说明:
 

语句a $arr=array('a'=>'abc','b'=>123,'c'=>true); 对$arr进行初始化得到数字索引数组,输出:
, , ,
abc, 123, 1,
a-abc, b-123, c-1,
a-abc, b-123, c-1,
a-abc, b-123, c-1, 使用语句b $arr=range('a','d'); 对$arr进行初始化得到关联数组,输出:
a, b, c, d,
a, b, c, d,
0-a, 1-b, 2-c, 3-d,
0-a, 1-b, 2-c, 3-d,
0-a, 1-b, 2-c, 3-d,
for循环只对数字索引有限;for和foreach遍历结束后不需要对数据进行reset()操作即可供下次遍历,而each方法则需要。

以上就是今天php教程的全部内容了,希望有助于大家掌握php数组遍历的方法,脚本学堂,祝大家学习进步。